ASCIIEncoding.GetMaxByteCount(Int32) Methode

Definition

Berechnet die maximale Anzahl der Bytes, die beim Codieren der angegebenen Anzahl von Zeichen erzeugt wird.

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

Int32

Die maximale Anzahl an Bytes, die beim Codieren der angegebenen Anzahl von Zeichen erzeugt werden.

Ausnahmen

charCount ist kleiner als Null.

- oder - Die sich ergebende Anzahl von Bytes ist höher als die maximale Anzahl, die als ganze Zahl zurückgegeben werden kann.

Beispiele

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

using namespace System;
using namespace System::Text;
int main()
{
   ASCIIEncoding^ ascii = gcnew ASCIIEncoding;
   int charCount = 2;
   int maxByteCount = ascii->GetMaxByteCount( charCount );
   Console::WriteLine( "Maximum of {0} bytes needed to encode {1} characters.", maxByteCount, charCount );
}
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 Methode zum Speichern der GetBytes resultierenden Bytes erforderlich ist, während die GetMaxByteCount Methode die maximale Arraygröße berechnet. Die Methode weist im Allgemeinen weniger Arbeitsspeicher zu, aber die GetByteCount GetMaxByteCount Methode führt im Allgemeinen schneller aus.

GetMaxByteCountist eine Worst-Case-Zahl, einschließlich des schlechtesten Falles für die derzeit ausgewählte .EncoderFallback Wenn Sie einen Ersatz-Fallback mit einer potenziell großen Zeichenfolge auswählen, GetMaxByteCount können große Werte zurückgegeben werden.

Die GetMaxByteCount Methode betrachtet potenzielle Linksübergänger aus einem vorherigen Codierungsvorgang. Wenn das ASCIIEncoding Objekt den Standard-Ersatz-Fallback verwendet oder ein benutzerdefinierter Ersatz-Fallback 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.

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

Hinweis

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

Gilt für

Siehe auch