UTF7Encoding.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 Zeichenanzahl ist größer als die maximale Anzahl, die als ganze Zahl zurückgegeben werden kann.The resulting number of characters is greater than the maximum number that can be returned as an int.

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 complete explanation) - und --and- Für DecoderFallback ist DecoderExceptionFallback festgelegt.DecoderFallback is set to DecoderExceptionFallback.

Beispiele

Im folgenden Codebeispiel 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 code 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()
{
   UTF7Encoding^ utf7 = gcnew UTF7Encoding;
   int byteCount = 8;
   int maxCharCount = utf7->GetMaxCharCount( byteCount );
   Console::WriteLine( "Maximum of {0} characters needed to decode {1} bytes.", maxCharCount, byteCount );
}

using System;
using System.Text;

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

Class UTF7EncodingExample
    
    Public Shared Sub Main()
        Dim utf7 As New UTF7Encoding()
        Dim byteCount As Integer = 8
        Dim maxCharCount As Integer = utf7.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 ermöglicht im Allgemeinen die Zuordnung von weniger Arbeits GetMaxCharCount Speicher, während die-Methode im Allgemeinen schneller ausgeführt wird.The GetCharCount method generally allows allocation of less memory, while the GetMaxCharCount method generally executes faster.

GetMaxCharCountist eine Zahl mit dem ungünstigsten Fall, einschließlich des ungünstigsten DecoderFallbackFalls für den aktuell ausgewählten.GetMaxCharCount is 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 , kann große Werte zurückgeben.If a fallback is chosen with a potentially large string, GetMaxCharCount can return large values.

In den meisten Fällen gibt diese Methode für kleine Zeichen folgen angemessene Zahlen zurück.In most cases, this method returns 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 Decoder.Convertbetrachten.You might also want to consider a different approach using GetCharCount or Decoder.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