UnicodeEncoding.GetCharCount Yöntem

Tanım

Bayt dizisinin kodunu çözerek üretilen karakter sayısını hesaplar.

Aşırı Yüklemeler

Name Description
GetCharCount(Byte*, Int32)

Belirtilen bayt işaretçisinde başlayan bir bayt dizisinin kodunu çözerek üretilen karakter sayısını hesaplar.

GetCharCount(Byte[], Int32, Int32)

Belirtilen bayt dizisinden bir bayt dizisinin kodunu çözerek üretilen karakter sayısını hesaplar.

GetCharCount(Byte*, Int32)

Kaynak:
UnicodeEncoding.cs
Kaynak:
UnicodeEncoding.cs
Kaynak:
UnicodeEncoding.cs
Kaynak:
UnicodeEncoding.cs
Kaynak:
UnicodeEncoding.cs

Önemli

Bu API, CLS uyumlu değildir.

Belirtilen bayt işaretçisinde başlayan bir bayt dizisinin kodunu çözerek üretilen karakter sayısını hesaplar.

public:
 override int GetCharCount(System::Byte* bytes, int count);
[System.CLSCompliant(false)]
public override int GetCharCount(byte* bytes, int count);
[System.CLSCompliant(false)]
[System.Security.SecurityCritical]
public override int GetCharCount(byte* bytes, int count);
[System.CLSCompliant(false)]
[System.Runtime.InteropServices.ComVisible(false)]
public override int GetCharCount(byte* bytes, int count);
[System.CLSCompliant(false)]
[System.Security.SecurityCritical]
[System.Runtime.InteropServices.ComVisible(false)]
public override int GetCharCount(byte* bytes, int count);
[<System.CLSCompliant(false)>]
override this.GetCharCount : nativeptr<byte> * int -> int
[<System.CLSCompliant(false)>]
[<System.Security.SecurityCritical>]
override this.GetCharCount : nativeptr<byte> * int -> int
[<System.CLSCompliant(false)>]
[<System.Runtime.InteropServices.ComVisible(false)>]
override this.GetCharCount : nativeptr<byte> * int -> int
[<System.CLSCompliant(false)>]
[<System.Security.SecurityCritical>]
[<System.Runtime.InteropServices.ComVisible(false)>]
override this.GetCharCount : nativeptr<byte> * int -> int

Parametreler

bytes
Byte*

Kodunu çözmek için ilk bayt işaretçisi.

count
Int32

Kodu çözecek bayt sayısı.

Döndürülenler

Belirtilen bayt dizisi çözülerek oluşturulan karakter sayısı.

Öznitelikler

Özel durumlar

bytes is null (Nothing).

count, sıfırdan küçüktür.

-veya-

Elde edilen bayt sayısı, tamsayı olarak döndürülebilecek maksimum sayıdan büyüktür.

Hata algılama etkinleştirildi ve bytes geçersiz bir bayt dizisi içeriyor.

Geri dönüş oluştu (daha fazla bilgi için bkz. .NET'te Karakter Kodlama)

-ve-

DecoderFallback olarak ayarlanır DecoderExceptionFallback.

Açıklamalar

Elde edilen karakterlerin depolanmasını gerektiren dizi boyutunu GetChars tam olarak hesaplamak için, uygulama kullanır GetCharCount. En büyük dizi boyutunu hesaplamak için uygulama kullanmalıdır GetMaxCharCount. GetCharCount yöntemi genellikle daha az bellek ayırırkenGetMaxCharCount, yöntem genellikle daha hızlı yürütülür.

Hata algılama ile geçersiz bir dizi, bu yöntemin bir ArgumentExceptionoluşturmasına neden olur. Hata algılama olmadan geçersiz diziler yoksayılır ve özel durum oluşmaz.

Ayrıca bkz.

Şunlara uygulanır

GetCharCount(Byte[], Int32, Int32)

Kaynak:
UnicodeEncoding.cs
Kaynak:
UnicodeEncoding.cs
Kaynak:
UnicodeEncoding.cs
Kaynak:
UnicodeEncoding.cs
Kaynak:
UnicodeEncoding.cs

Belirtilen bayt dizisinden bir bayt dizisinin kodunu çözerek üretilen karakter sayısını hesaplar.

public:
 override int GetCharCount(cli::array <System::Byte> ^ bytes, int index, int count);
public override int GetCharCount(byte[] bytes, int index, int count);
override this.GetCharCount : byte[] * int * int -> int
Public Overrides Function GetCharCount (bytes As Byte(), index As Integer, count As Integer) As Integer

Parametreler

bytes
Byte[]

Kodunu çözmek için bayt sırasını içeren bayt dizisi.

index
Int32

Kodunu çözmek için ilk bayt dizini.

count
Int32

Kodu çözecek bayt sayısı.

Döndürülenler

Belirtilen bayt dizisi çözülerek oluşturulan karakter sayısı.

Özel durumlar

bytes is null (Nothing).

index veya count sıfırdan küçüktür.

-veya-

index ve count içinde bytesgeçerli bir aralığı ifade etmeyin.

-veya-

Elde edilen bayt sayısı, tamsayı olarak döndürülebilecek maksimum sayıdan büyüktür.

Hata algılama etkinleştirildi ve bytes geçersiz bir bayt dizisi içeriyor.

Geri dönüş oluştu (daha fazla bilgi için bkz. .NET'te Karakter Kodlama)

-ve-

DecoderFallback olarak ayarlanır DecoderExceptionFallback.

Örnekler

Aşağıdaki örnek, kullanarak GetCharCountbayt dizisindeki UnicodeEncoding bir öğe aralığının kodunu çözerek üretilen karakter sayısını döndürmek için yönteminin nasıl kullanılacağını gösterir.

using System;
using System.Text;

class UnicodeEncodingExample {
    public static void Main() {
        Byte[] bytes = new Byte[] {
            85, 0, 110, 0, 105, 0, 99, 0, 111, 0, 100, 0, 101, 0
        };

        UnicodeEncoding Unicode = new UnicodeEncoding();
        int charCount = Unicode.GetCharCount(bytes, 2, 8);
        Console.WriteLine(
            "{0} characters needed to decode bytes.", charCount
        );
    }
}
Imports System.Text

Class UnicodeEncodingExample
    
    Public Shared Sub Main()
        Dim bytes() As Byte = {85, 0, 110, 0, 105, 0, 99, 0, 111, 0, 100, 0, 101, 0}
        
        Dim uni As New UnicodeEncoding()
        Dim charCount As Integer = uni.GetCharCount(bytes, 2, 8)
        Console.WriteLine("{0} characters needed to decode bytes.", charCount)
    End Sub
End Class

Açıklamalar

Uygulama, tarafından elde edilen karakterleri depolamak için gereken GetChars dizi boyutunu tam olarak hesaplamak için kullanır GetCharCount. En büyük dizi boyutunu hesaplamak için uygulama kullanmalıdır GetMaxCharCount. GetCharCount yöntemi genellikle daha az bellek ayırırkenGetMaxCharCount, yöntem genellikle daha hızlı yürütülür.

Hata algılama ile geçersiz bir dizi, bu yöntemin bir ArgumentExceptionoluşturmasına neden olur. Hata algılama olmadan geçersiz diziler yoksayılır ve özel durum oluşmaz.

Ayrıca bkz.

Şunlara uygulanır