ASCIIEncoding.GetMaxByteCount(Int32) Methode

Definition

Berechnet die maximale Anzahl von Byte, die durch die Codierung der angegebenen Anzahl von Zeichen erzeugt werden.

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

Parameter

charCount
Int32

Die Anzahl der zu codierenden Zeichen.

Gibt zurück

Die maximale Anzahl von Byte, die durch die Codierung der angegebenen Anzahl von Zeichen erzeugt werden.

Ausnahmen

charCount ist kleiner als 0 (null).

-oder-

Die resultierende Anzahl von Bytes ist größer als die maximale Zahl, die als ganze Zahl zurückgegeben werden kann.

Beispiele

Im folgenden Beispiel wird veranschaulicht, wie die GetMaxByteCount Methode verwendet wird, um die zum Codieren einer angegebenen Anzahl von Zeichen erforderlichen Bytes zu berechnen.

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

Hinweise

Die GetByteCount Methode berechnet die genaue Arraygröße, die von der GetBytes Methode zum Speichern der resultierenden Bytes benötigt wird, während die GetMaxByteCount Methode die maximale Arraygröße berechnet. Die GetByteCount Methode weist in der Regel weniger Arbeitsspeicher zu, aber die Methode wird in der GetMaxByteCount Regel schneller ausgeführt.

GetMaxByteCount ist eine Worst-Case-Zahl, einschließlich des schlimmsten Falls für die aktuell ausgewählte EncoderFallback. Wenn Sie einen Ersatzfallback mit einer potenziell großen Zeichenfolge auswählen, GetMaxByteCount können große Werte zurückgegeben werden.

Die GetMaxByteCount Methode betrachtet potenzielle Übergänger aus einem vorherigen Codierungsvorgang. Wenn das ASCIIEncoding Objekt daher den Standardersetzungs-Fallback verwendet oder ein benutzerdefiniertes Ersatzfallback mit einem einzelnen möglichen Fallbackzeichen definiert wurde, gibt die Methode +1 zurück charCount . Wenn das ASCIIEncoding Objekt einen Ersatzfallback mit mehr als einem möglichen Fallbackzeichen verwendet, gibt die Methode n * (charCount + 1) zurück, wobei n die maximale Anzahl von Fallbackzeichen ist.

GetMaxByteCount hat keine Beziehung zu GetChars. Wenn Ihre Anwendung eine ähnliche Funktion benötigt, mit GetCharsder sie verwendet werden soll, sollte sie verwendet werden GetMaxCharCount.

Note

GetMaxByteCount(N) ist nicht unbedingt derselbe Wert wie N* GetMaxByteCount(1).

Gilt für:

Weitere Informationen