UTF7Encoding.GetMaxCharCount(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 bájtszám dekódolásával előállított karakterek maximális számát.
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
Paraméterek
- byteCount
- Int32
A dekódolni kívánt bájtok száma.
Válaszok
A megadott bájtszám dekódolásával előállított karakterek maximális száma.
Kivételek
byteCount kisebb, mint nulla.
-vagy-
Az eredményül kapott karakterek száma nagyobb, mint a tétként visszaadható maximális szám.
Hiba történt (további információ:
-és-
DecoderFallback DecoderExceptionFallbackértékre van állítva.
Példák
Az alábbi példakód bemutatja, hogyan használható a metódus a GetMaxCharCount megadott számú bájt dekódolásával előállított karakterek maximális számának visszaadására.
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
Megjegyzések
Az eredményként kapott karakterek tárolásához szükséges GetChars pontos tömbméret kiszámításához az alkalmazás a következőt használja GetCharCount: . A maximális tömbméret kiszámításához az alkalmazásnak a következőt kell használnia GetMaxCharCount: . A GetCharCount metódus általában kevesebb memória lefoglalását teszi lehetővé, míg a GetMaxCharCount metódus általában gyorsabban fut.
GetMaxCharCount a legrosszabb esetszám, beleértve a jelenleg kiválasztott DecoderFallbackeset legrosszabb esetét is. Ha egy tartalékot egy potenciálisan nagy sztringgel választ, GetMaxCharCount nagy értékeket adhat vissza.
A legtöbb esetben ez a módszer a kis sztringekhez megfelelő számokat ad vissza. 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 .GetCharCountDecoder.Convert
GetMaxCharCount nincs kapcsolata a .-hez GetBytes. Ha az alkalmazásnak hasonló függvényre van szüksége, GetBytesakkor azt kell használnia GetMaxByteCount.
Note
GetMaxCharCount(N) nem feltétlenül ugyanaz az érték, mint N* GetMaxCharCount(1)a .