UTF8Encoding.GetMaxCharCount(Int32) 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.
Belirtilen bayt sayısının kodunu çözerek üretilen en fazla karakter sayısını hesaplar.
public:
override int GetMaxCharCount(int byteCount);
public override int GetMaxCharCount(int byteCount);
override this.GetMaxCharCount : int -> int
Public Overrides Function GetMaxCharCount (byteCount As Integer) As Integer
Parametreler
- byteCount
- Int32
Kodu çözecek bayt sayısı.
Döndürülenler
Belirtilen bayt sayısı çözülerek oluşturulan karakter sayısı üst sınırı.
Özel durumlar
byteCount, 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.
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, belirtilen sayıda bayt kodunu çözerek üretilen en fazla karakter sayısını döndürmek için yöntemini kullanır GetMaxCharCount .
using System;
using System.Text;
class UTF8EncodingExample {
public static void Main() {
UTF8Encoding utf8 = new UTF8Encoding();
int byteCount = 8;
int maxCharCount = utf8.GetMaxCharCount(byteCount);
Console.WriteLine(
"Maximum of {0} characters needed to decode {1} bytes.",
maxCharCount,
byteCount
);
}
}
Imports System.Text
Class UTF8EncodingExample
Public Shared Sub Main()
Dim utf8 As New UTF8Encoding()
Dim byteCount As Integer = 8
Dim maxCharCount As Integer = utf8.GetMaxCharCount(byteCount)
Console.WriteLine( _
"Maximum of {0} characters needed to decode {1} bytes.", _
maxCharCount, _
byteCount _
)
End Sub
End Class
Açıklamalar
Sonucun karakterlerini depolamak için tarafından GetChars gereken dizi boyutunu tam olarak hesaplamak için yöntemini çağırırsınız GetCharCount . En büyük dizi boyutunu hesaplamak için yöntemini çağırırsınız GetMaxCharCount . GetCharCount yöntemi genellikle daha az bellek ayırırkenGetMaxCharCount, yöntem genellikle daha hızlı yürütülür.
GetMaxCharCount , seçili DecoderFallbackdurumdaki için en kötü durum da dahil olmak üzere en kötü durumlu bir sayıdır. Büyük olabilecek bir dize ile geri dönüş seçilirse, GetMaxCharCount büyük değerler döndürebilir.
Çoğu durumda, bu yöntem küçük dizeler için makul sayılar döndürür. Büyük dizeler için çok büyük arabellekler kullanma ve daha makul bir arabelleğin aşılması gibi nadir durumlarda hataları yakalama arasında seçim yapmanız gerekebilir. veya GetCharCountkullanarak Encoder.Convert farklı bir yaklaşımı da göz önünde bulundurmak isteyebilirsiniz.
GetMaxCharCount ile hiçbir ilişkisi GetBytesyoktur. Uygulamanızın ile GetByteskullanmak için benzer bir işleve ihtiyacı varsa, bunu kullanmalıdır GetMaxByteCount.
Note
GetMaxCharCount(N) ile aynı değer N* GetMaxCharCount(1)olmayabilir.