UnicodeEncoding.GetMaxCharCount(Int32) Methode

Definitie

Berekent het maximum aantal tekens dat wordt geproduceerd door het opgegeven aantal bytes te decoderen.

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

Parameters

byteCount
Int32

Het aantal bytes dat moet worden gedecodeerd.

Retouren

Het maximum aantal tekens dat wordt geproduceerd door het opgegeven aantal bytes te decoderen.

Uitzonderingen

byteCount is kleiner dan nul.

– of –

Het resulterende aantal bytes is groter dan het maximumaantal dat als geheel getal kan worden geretourneerd.

Er is een terugval opgetreden (zie Character Encoding in .NET)

en

DecoderFallback is ingesteld op DecoderExceptionFallback.

Voorbeelden

In het volgende voorbeeld ziet u hoe u de GetMaxCharCount methode gebruikt om het maximum aantal tekens te retourneren dat wordt geproduceerd door het decoderen van een opgegeven aantal bytes.

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

Opmerkingen

Voor het berekenen van de exacte matrixgrootte die is vereist voor GetChars het opslaan van de resulterende tekens, gebruikt GetCharCountde toepassing . Als u de maximale matrixgrootte wilt berekenen, moet de toepassing gebruikmaken van GetMaxCharCount. De GetCharCount methode wijst doorgaans minder geheugen toe, terwijl de GetMaxCharCount methode over het algemeen sneller wordt uitgevoerd.

GetMaxCharCount haalt een slechtst getal op, inclusief het slechtste geval voor de geselecteerde DecoderFallback. Als een terugval wordt gekozen met een mogelijk grote tekenreeks, GetMaxCharCount haalt u grote waarden op.

In de meeste gevallen haalt deze methode redelijke getallen op voor kleine tekenreeksen. Voor grote tekenreeksen moet u mogelijk kiezen tussen het gebruik van zeer grote buffers en het ondervangen van fouten in het zeldzame geval dat een meer redelijke buffer wordt overschreden. U kunt ook een andere benadering overwegen met behulp van GetCharCount of Convert.

GetMaxCharCount heeft geen relatie tot GetBytes. Als uw toepassing een vergelijkbare functie nodig heeft om mee GetByteste gebruiken, moet deze worden gebruikt GetMaxByteCount.

Note

GetMaxCharCount(N) is niet noodzakelijkerwijs dezelfde waarde als N* GetMaxCharCount(1).

Van toepassing op

Zie ook