UnicodeEncoding.GetCharCount Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Bir bayt dizisinin kodunu çözerek üretilen karakter sayısını hesaplar.
Aşırı Yüklemeler
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
Ö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 bayta işaret eden bir işaretçi.
- count
- Int32
Kodu çözecek bayt sayısı.
Döndürülenler
Belirtilen bayt dizisinin kodunu çözerek üretilen 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 bayt dizisi içeriyor.
Bir geri dönüş oluştu (daha fazla bilgi için bkz. .NET'te Karakter Kodlama)
-Ve-
DecoderFallback olarak ayarlanır DecoderExceptionFallback.
Açıklamalar
Sonuçta elde edilen karakterlerin depolanmasını gerektiren GetChars dizi boyutunu 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 oluşturmasına ArgumentExceptionneden 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
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[]
Kod çözme 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 dizisinin kodunu çözerek üretilen karakter sayısı.
Özel durumlar
bytes
is null
(Nothing
).
index
veya count
sıfırdan küçüktür.
-veya-
index
ve count
içinde bytes
geç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 bayt dizisi içeriyor.
Bir 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 bayt dizisindeki GetCharCountUnicodeEncodingbir öğ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 namespace System;
using namespace System::Text;
int main()
{
array<Byte>^bytes = {85,0,110,0,105,0,99,0,111,0,100,0,101,0};
UnicodeEncoding^ Unicode = gcnew UnicodeEncoding;
int charCount = Unicode->GetCharCount( bytes, 2, 8 );
Console::WriteLine( "{0} characters needed to decode bytes.", charCount );
}
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
Sonuçta elde edilen karakterleri depolamak için gereken GetChars dizi boyutunu 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 oluşturmasına ArgumentExceptionneden olur. Hata algılama olmadan geçersiz diziler yoksayılır ve özel durum oluşmaz.