UTF7Encoding.GetMaxCharCount(Int32) Metódus

Definíció

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ó: Acharacter kódolása a .NET)

-é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 .

A következőre érvényes:

Lásd még