ASCIIEncoding.GetMaxByteCount(Int32) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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
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)
.