ASCIIEncoding.GetMaxByteCount(Int32) Metódus

Definíció

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.

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 kiszámítására.

using System;
using System.Text;

class ASCIIEncodingExample {
    public static void Main() {
        ASCIIEncoding ascii = new ASCIIEncoding();
        int charCount = 2;
        int maxByteCount = ascii.GetMaxByteCount(charCount);
        Console.WriteLine(
            "Maximum of {0} bytes needed to encode {1} characters.",
            maxByteCount,
            charCount
        );
    }
}
Imports System.Text

Class ASCIIEncodingExample
    Public Shared Sub Main()
        Dim ascii As New ASCIIEncoding()
        Dim charCount As Integer = 2
        Dim maxByteCount As Integer = ascii.GetMaxByteCount(charCount)
        Console.WriteLine( _
            "Maximum of {0} bytes needed to encode {1} characters.", _
            maxByteCount, _
            charCount _
        )
    End Sub
End Class

Megjegyzések

A GetByteCount metódus kiszámítja a metódus által GetBytes az eredményként kapott bájtok tárolásához szükséges pontos tömbméretet, míg a GetMaxByteCount metódus a maximális tömbméretet számítja ki. A GetByteCount metódus általában kevesebb memóriát foglal le, de a GetMaxByteCount metódus általában gyorsabban fut.

GetMaxByteCount a legrosszabb esetszám, beleértve a jelenleg kiválasztott EncoderFallbackeset legrosszabb esetét is. Ha egy potenciálisan nagy sztringgel rendelkező tartalék tartalékot választ, GetMaxByteCount nagy értékeket adhat vissza.

A GetMaxByteCount metódus egy korábbi kódolási műveletből származó lehetséges hátrahagyott pótlékokat veszi figyelembe. Ennek eredményeképpen, ha az objektum az ASCIIEncoding alapértelmezett csere tartalékot használja, vagy ha egyéni csere tartalékot definiált egyetlen lehetséges tartalék karakterrel, a metódus + 1 értéket ad charCount vissza. Ha az ASCIIEncoding objektum egynél több lehetséges tartalék karakterrel rendelkező tartalék tartalékot használ, a metódus n * (charCount + 1) értéket ad vissza, ahol n a tartalék karakterek maximális száma.

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 .

A következőre érvényes:

Lásd még