UnicodeEncoding.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ının kodunu çözerek üretilen en fazla karakter sayısı.
Ö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.
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, 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 namespace System;
using namespace System::Text;
int main()
{
UnicodeEncoding^ Unicode = gcnew UnicodeEncoding;
int byteCount = 8;
int maxCharCount = Unicode->GetMaxCharCount( byteCount );
Console::WriteLine( "Maximum of {0} characters needed to decode {1} bytes.", maxCharCount, byteCount );
}
using System;
using System.Text;
class UnicodeEncodingExample {
public static void Main() {
UnicodeEncoding Unicode = new UnicodeEncoding();
int byteCount = 8;
int maxCharCount = Unicode.GetMaxCharCount(byteCount);
Console.WriteLine(
"Maximum of {0} characters needed to decode {1} bytes.",
maxCharCount,
byteCount
);
}
}
Imports System.Text
Class UnicodeEncodingExample
Public Shared Sub Main()
Dim uni As New UnicodeEncoding()
Dim byteCount As Integer = 8
Dim maxCharCount As Integer = uni.GetMaxCharCount(byteCount)
Console.WriteLine("Maximum of {0} characters needed to decode {1} bytes.", maxCharCount, byteCount)
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.
GetMaxCharCount seçili durumdaki DecoderFallbackiçin en kötü durum dahil olmak üzere en kötü durum numarasını alır. Büyük olabilecek bir dize ile bir geri dönüş seçilirse, GetMaxCharCount büyük değerler alır.
Çoğu durumda, bu yöntem küçük dizeler için makul sayıları alır. Büyük dizeler için, çok büyük arabellekler kullanma ve daha makul bir arabelleğin aşılması durumunda hataları yakalama arasında seçim yapmanız gerekebilir. veya Convertkullanarak GetCharCount farklı bir yaklaşımı da göz önünde bulundurmak isteyebilirsiniz.
GetMaxCharCount ile hiçbir ilişkisi GetBytesyoktur. Uygulamanızın ile GetBytesbirlikte kullanmak için benzer bir işleve ihtiyacı varsa, bunu kullanmalıdır GetMaxByteCount.
Not
GetMaxCharCount(N)
ile aynı değer N* GetMaxCharCount(1)
olmayabilir.