UnicodeEncoding.GetMaxByteCount(Int32) Metódus
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
Kiszámítja a megadott számú karakter kódolásával előállított bájtok maximális számát.
public:
override int GetMaxByteCount(int charCount);
public override int GetMaxByteCount(int charCount);
override this.GetMaxByteCount : int -> int
Public Overrides Function GetMaxByteCount (charCount As Integer) As Integer
Paraméterek
- charCount
- Int32
A kódolandó karakterek száma.
Válaszok
A megadott számú karakter kódolásával előállított bájtok maximális száma.
Kivételek
charCount kisebb, mint nulla.
-vagy-
Az eredményül kapott bájtszám nagyobb, mint az egész számként visszaadható maximális szám.
Hiba történt (további információ:
-és-
EncoderFallback EncoderExceptionFallbackértékre van állítva.
Példák
Az alábbi példa bemutatja, hogyan használható a metódus a GetMaxByteCount megadott számú karakter kódolásához szükséges bájtok maximális számának visszaadására.
using System;
using System.Text;
class UnicodeEncodingExample {
public static void Main() {
UnicodeEncoding Unicode = new UnicodeEncoding();
int charCount = 2;
int maxByteCount = Unicode.GetMaxByteCount(charCount);
Console.WriteLine(
"Maximum of {0} bytes needed to encode {1} characters.",
maxByteCount,
charCount
);
}
}
Imports System.Text
Class UnicodeEncodingExample
Public Shared Sub Main()
Dim uni As New UnicodeEncoding()
Dim charCount As Integer = 2
Dim maxByteCount As Integer = uni.GetMaxByteCount(charCount)
Console.WriteLine("Maximum of {0} bytes needed to encode {1} characters.", maxByteCount, charCount)
End Sub
End Class
Megjegyzések
A kapott bájtok tárolásához szükséges GetBytes pontos tömbméret kiszámításához az alkalmazás a következőt használja GetByteCount: . A maximális tömbméret kiszámításához az alkalmazásnak a következőt kell használnia GetMaxByteCount: . A GetByteCount metódus általában kevesebb memóriát foglal le, míg a GetMaxByteCount metódus általában gyorsabban fut.
GetMaxByteCount A rendszer a legrosszabb esetszámot kéri le, beleértve az aktuálisan kiválasztott EncoderFallbackeset legrosszabb esetét is. Ha egy tartalékot egy potenciálisan nagy sztringgel választ, GetMaxByteCount nagy értékeket adhat vissza.
A legtöbb esetben ez a módszer a kis sztringek ésszerű számait kéri le. Nagy sztringek esetén előfordulhat, hogy választania kell a nagyon nagy pufferek használata és a hibák észlelése között abban a ritka esetben, amikor egy ésszerűbb puffer túllépése történik. Érdemes lehet megfontolni egy másik megközelítést is a vagy a .GetByteCountEncoder.Convert
GetMaxByteCount nincs kapcsolata a .-hez GetChars. Ha az alkalmazásnak hasonló függvényre van szüksége, GetCharsakkor azt kell használnia GetMaxCharCount.
Note
GetMaxByteCount(N) nem feltétlenül ugyanaz az érték, mint N* GetMaxByteCount(1)a .