UnicodeEncoding.GetMaxCharCount(Int32) Methode

Definition

Berechnet die maximale Anzahl der Zeichen, die beim Decodieren der angegebenen Anzahl von Bytes erzeugt werden.Calculates the maximum number of characters produced by decoding the specified number of bytes.

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

Parameter

byteCount
Int32

Die Anzahl der zu decodierenden Bytes.The number of bytes to decode.

Gibt zurück

Die maximale Anzahl von Zeichen, die beim Decodieren der angegebenen Anzahl von Bytes erzeugt werden.The maximum number of characters produced by decoding the specified number of bytes.

Ausnahmen

byteCount ist kleiner als Null.byteCount is less than zero.

- oder --or- Die daraus resultierende Byteanzahl ist größer als die maximale Anzahl, die als ganze Zahl zurückgegeben werden kann.The resulting number of bytes is greater than the maximum number that can be returned as an integer.

Es ist ein Fallback aufgetreten (eine ausführliche Erläuterung finden Sie unter Zeichencodierung in .NET Framework).A fallback occurred (see Character Encoding in the .NET Framework for fuller explanation) - und --and- Für DecoderFallback ist DecoderExceptionFallback festgelegt.DecoderFallback is set to DecoderExceptionFallback.

Beispiele

Im folgenden Beispiel wird veranschaulicht, wie die GetMaxCharCount -Methode verwendet wird, um die maximale Anzahl von Zeichen zurückzugeben, die beim Decodieren einer angegebenen Anzahl von Bytes erzeugt werden.The following example demonstrates how to use the GetMaxCharCount method to return the maximum number of characters produced by decoding a specified number of bytes.

using namespace System;
using namespace System::Text;
int main()
{
   UnicodeEncoding^ Unicode = gcnew UnicodeEncoding;
   int byteCount = 8;
   int maxCharCount = Unicode->GetMaxCharCount( byteCount );
   Console::WriteLine( "Maximum of {0} characters needed to decode {1} bytes.", maxCharCount, byteCount );
}

using System;
using System.Text;

class UnicodeEncodingExample {
    public static void Main() {
        UnicodeEncoding Unicode = new UnicodeEncoding();
        int byteCount = 8;
        int maxCharCount = Unicode.GetMaxCharCount(byteCount);
        Console.WriteLine(
            "Maximum of {0} characters needed to decode {1} bytes.",
            maxCharCount,
            byteCount
        );
    }
}
Imports System.Text

Class UnicodeEncodingExample
    
    Public Shared Sub Main()
        Dim uni As New UnicodeEncoding()
        Dim byteCount As Integer = 8
        Dim maxCharCount As Integer = uni.GetMaxCharCount(byteCount)
        Console.WriteLine("Maximum of {0} characters needed to decode {1} bytes.", maxCharCount, byteCount)
    End Sub
End Class

Hinweise

Zum Berechnen der exakten Array Größe, die GetChars von zum Speichern der resultierenden Zeichen erforderlich ist, GetCharCountverwendet die Anwendung.To calculate the exact array size required by GetChars to store the resulting characters, the application uses GetCharCount. Um die maximale Array Größe zu berechnen, sollte von der GetMaxCharCountAnwendung verwendet werden.To calculate the maximum array size, the application should use GetMaxCharCount. Die GetCharCount -Methode weist im Allgemeinen weniger Arbeitsspeicher zu GetMaxCharCount , während die-Methode im Allgemeinen schneller ausgeführt wird.The GetCharCount method generally allocates less memory, while the GetMaxCharCount method generally executes faster.

GetMaxCharCountRuft die Anzahl der schlechtesten Fälle ab, einschließlich des ungünstigsten Falls für DecoderFallbackden aktuell ausgewählten.GetMaxCharCount retrieves a worst-case number, including the worst case for the currently selected DecoderFallback. Wenn ein Fall Back mit einer potenziell großen Zeichenfolge ausgewählt wird GetMaxCharCount , ruft große Werte ab.If a fallback is chosen with a potentially large string, GetMaxCharCount retrieves large values.

In den meisten Fällen ruft diese Methode angemessene Zahlen für kleine Zeichen folgen ab.In most cases, this method retrieves reasonable numbers for small strings. Bei großen Zeichen folgen müssen Sie möglicherweise zwischen der Verwendung sehr großer Puffer und dem Abfangen von Fehlern wählen, wenn ein sinnvoller Puffer überschritten wird.For large strings, you might have to choose between using very large buffers and catching errors in the rare case that a more reasonable buffer is exceeded. Möglicherweise möchten Sie auch einen anderen Ansatz mithilfe GetCharCount von oder Convertbetrachten.You might also want to consider a different approach using GetCharCount or Convert.

GetMaxCharCounthat keine Beziehung zu GetBytes.GetMaxCharCount has no relation to GetBytes. Wenn Ihre Anwendung eine ähnliche Funktion benötigt, die mit GetBytesverwendet werden soll, GetMaxByteCountsollte Sie verwendet werden.If your application needs a similar function to use with GetBytes, it should use GetMaxByteCount.

Hinweis

GetMaxCharCount(N)ist nicht notwendigerweise derselbe Wert wie N* GetMaxCharCount(1).GetMaxCharCount(N) is not necessarily the same value as N* GetMaxCharCount(1).

Gilt für:

Siehe auch