UTF7Encoding.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-
Sonuçta elde edilen karakter sayısı, int 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 kod örneği, belirtilen sayıda bayt kodunu GetMaxCharCount çözerek üretilen en fazla karakter sayısını döndürmek için yönteminin nasıl kullanılacağını gösterir.
using System;
using System.Text;
class UTF7EncodingExample {
public static void Main() {
UTF7Encoding utf7 = new UTF7Encoding();
int byteCount = 8;
int maxCharCount = utf7.GetMaxCharCount(byteCount);
Console.WriteLine(
"Maximum of {0} characters needed to decode {1} bytes.",
maxCharCount,
byteCount
);
}
}
Imports System.Text
Class UTF7EncodingExample
Public Shared Sub Main()
Dim utf7 As New UTF7Encoding()
Dim byteCount As Integer = 8
Dim maxCharCount As Integer = utf7.GetMaxCharCount(byteCount)
Console.WriteLine( _
"Maximum of {0} characters needed to decode {1} bytes.", _
maxCharCount, _
byteCount _
)
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ırmaya izin verirken, GetMaxCharCount 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 Decoder.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.