ASCIIEncoding.GetCharCount Methode

Definitie

Berekent het aantal tekens dat wordt geproduceerd door een reeks bytes te decoderen.

Overloads

Name Description
GetCharCount(Byte[], Int32, Int32)

Berekent het aantal tekens dat wordt geproduceerd door het decoderen van een reeks bytes van de opgegeven bytematrix.

GetCharCount(Byte*, Int32)

Berekent het aantal tekens dat wordt geproduceerd door het decoderen van een reeks bytes die beginnen bij de opgegeven byteaanwijzer.

GetCharCount(Byte[], Int32, Int32)

Berekent het aantal tekens dat wordt geproduceerd door het decoderen van een reeks bytes van de opgegeven bytematrix.

public:
 override int GetCharCount(cli::array <System::Byte> ^ bytes, int index, int count);
public override int GetCharCount(byte[] bytes, int index, int count);
override this.GetCharCount : byte[] * int * int -> int
Public Overrides Function GetCharCount (bytes As Byte(), index As Integer, count As Integer) As Integer

Parameters

bytes
Byte[]

De bytematrix met de reeks bytes die moet worden gedecodeerd.

index
Int32

De index van de eerste byte om te decoderen.

count
Int32

Het aantal bytes dat moet worden gedecodeerd.

Retouren

Het aantal tekens dat wordt geproduceerd door de opgegeven reeks bytes te decoderen.

Uitzonderingen

bytes is null.

index of count kleiner is dan nul.

– of –

index en count geef geen geldig bereik aan in bytes.

– 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 GetCharCount methode gebruikt om het aantal tekens te retourneren dat wordt geproduceerd door het decoderen van een bereik met elementen in een bytematrix.

using System;
using System.Text;

class ASCIIEncodingExample {
    public static void Main() {
        Byte[] bytes = new Byte[] {
             65,  83,  67,  73,  73,  32,  69,
            110,  99, 111, 100, 105, 110, 103,
             32,  69, 120,  97, 109, 112, 108, 101
        };

        ASCIIEncoding ascii = new ASCIIEncoding();
        int charCount = ascii.GetCharCount(bytes, 6, 8);
        Console.WriteLine(
            "{0} characters needed to decode bytes.", charCount
        );
    }
}
Imports System.Text

Class ASCIIEncodingExample
    Public Shared Sub Main()
        Dim bytes() As Byte = { _
             65,  83,  67,  73,  73,  32,  69, _
            110,  99, 111, 100, 105, 110, 103, _
             32,  69, 120,  97, 109, 112, 108, 101}
      
        Dim ascii As New ASCIIEncoding()
        Dim charCount As Integer = ascii.GetCharCount(bytes, 6, 8)
        Console.WriteLine("{0} characters needed to decode bytes.", charCount)
    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. Met de GetCharCount methode kan over het algemeen minder geheugen worden toegewezen, terwijl de GetMaxCharCount methode doorgaans sneller wordt uitgevoerd.

Zie ook

Van toepassing op

GetCharCount(Byte*, Int32)

Belangrijk

Deze API is niet CLS-conform.

CLS-conform alternatief
System.Text.ASCIIEncoding.GetCharCount(Byte[], Int32, Int32)

Berekent het aantal tekens dat wordt geproduceerd door het decoderen van een reeks bytes die beginnen bij de opgegeven byteaanwijzer.

public:
 override int GetCharCount(System::Byte* bytes, int count);
[System.CLSCompliant(false)]
[System.Security.SecurityCritical]
public override int GetCharCount(byte* bytes, int count);
[System.CLSCompliant(false)]
[System.Runtime.InteropServices.ComVisible(false)]
public override int GetCharCount(byte* bytes, int count);
[System.CLSCompliant(false)]
[System.Security.SecurityCritical]
[System.Runtime.InteropServices.ComVisible(false)]
public override int GetCharCount(byte* bytes, int count);
[System.CLSCompliant(false)]
public override int GetCharCount(byte* bytes, int count);
[<System.CLSCompliant(false)>]
[<System.Security.SecurityCritical>]
override this.GetCharCount : nativeptr<byte> * int -> int
[<System.CLSCompliant(false)>]
[<System.Runtime.InteropServices.ComVisible(false)>]
override this.GetCharCount : nativeptr<byte> * int -> int
[<System.CLSCompliant(false)>]
[<System.Security.SecurityCritical>]
[<System.Runtime.InteropServices.ComVisible(false)>]
override this.GetCharCount : nativeptr<byte> * int -> int
[<System.CLSCompliant(false)>]
override this.GetCharCount : nativeptr<byte> * int -> int

Parameters

bytes
Byte*

Een aanwijzer naar de eerste byte om te decoderen.

count
Int32

Het aantal bytes dat moet worden gedecodeerd.

Retouren

Het aantal tekens dat wordt geproduceerd door de opgegeven reeks bytes te decoderen.

Kenmerken

Uitzonderingen

bytes is null.

count 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.

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. Met de GetCharCount methode kan over het algemeen minder geheugen worden toegewezen, terwijl de GetMaxCharCount methode doorgaans sneller wordt uitgevoerd.

Zie ook

Van toepassing op