UTF7Encoding.GetCharCount Methode

Definition

Berechnet die Anzahl der Zeichen, die durch Decodieren einer Bytesequenz erzeugt werden.

Überlädt

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

Berechnet die Anzahl der Zeichen, die durch Decodieren einer Bytesequenz aus dem angegebenen Bytearray erzeugt werden.

GetCharCount(Byte*, Int32)

Berechnet die Anzahl der Zeichen, die durch Decodieren einer Bytesequenz erzeugt werden, beginnend mit dem angegebenen Bytezeiger.

GetCharCount(Byte[], Int32, Int32)

Berechnet die Anzahl der Zeichen, die durch Decodieren einer Bytesequenz aus dem angegebenen Bytearray erzeugt werden.

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

Parameter

bytes
Byte[]

Das Bytearray, das die Abfolge von Bytes enthält, die decodiert werden sollen.

index
Int32

Der Index des ersten zu decodierenden Bytes.

count
Int32

Die Anzahl der Bytes, die decodiert werden sollen.

Gibt zurück

Die Anzahl der Zeichen, die durch Decodieren der angegebenen Bytesequenz erzeugt werden.

Ausnahmen

bytes ist null (Nothing).

index oder count ist kleiner als Null.

-oder-

index und count keinen gültigen Bereich in bytes.

-oder-

Die resultierende Anzahl von Zeichen ist größer als die maximale Anzahl, die als Int zurückgegeben werden kann.

Ein Fallback ist aufgetreten (weitere Informationen finden Sie unter "Zeichencodierung in .NET")

-und-

DecoderFallback ist auf DecoderExceptionFallback festgelegt.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie die GetCharCount Methode verwendet wird, um die Anzahl der Zeichen zurückzugeben, die durch Decodieren eines Bereichs von Elementen in einem Bytearray erzeugt werden.

using System;
using System.Text;

class UnicodeEncodingExample {
    public static void Main() {
        Byte[] bytes = new Byte[] {
            85, 0, 110, 0, 105, 0, 99, 0, 111, 0, 100, 0, 101, 0
        };

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

Class UnicodeEncodingExample
    
    Public Shared Sub Main()
        Dim bytes() As Byte = {85, 0, 110, 0, 105, 0, 99, 0, 111, 0, 100, 0, 101, 0}
        
        Dim uni As New UnicodeEncoding()
        Dim charCount As Integer = uni.GetCharCount(bytes, 2, 8)
        Console.WriteLine("{0} characters needed to decode bytes.", charCount)
    End Sub
End Class

Hinweise

Um die genaue Arraygröße zu berechnen, die erforderlich GetChars ist, um die resultierenden Zeichen zu speichern, verwenden Sie GetCharCount. Um die maximale Arraygröße zu berechnen, sollte die Anwendung verwenden GetMaxCharCount. Die GetCharCount Methode ermöglicht in der Regel die Zuordnung von weniger Arbeitsspeicher, während die GetMaxCharCount Methode im Allgemeinen schneller ausgeführt wird.

Weitere Informationen

Gilt für:

GetCharCount(Byte*, Int32)

Wichtig

Diese API ist nicht CLS-kompatibel.

Berechnet die Anzahl der Zeichen, die durch Decodieren einer Bytesequenz erzeugt werden, beginnend mit dem angegebenen Bytezeiger.

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

Parameter

bytes
Byte*

Ein Zeiger auf das erste Byte, das decodiert werden soll.

count
Int32

Die Anzahl der Bytes, die decodiert werden sollen.

Gibt zurück

Die Anzahl der Zeichen, die durch Decodieren der angegebenen Bytesequenz erzeugt werden.

Attribute

Ausnahmen

bytes ist null (Nothing).

count ist kleiner als 0 (null).

-oder-

Die resultierende Anzahl von Zeichen ist größer als die maximale Anzahl, die als Int zurückgegeben werden kann.

Ein Fallback ist aufgetreten (weitere Informationen finden Sie unter Character-Codierung in .NET).

-und-

DecoderFallback ist auf DecoderExceptionFallback festgelegt.

Hinweise

Um die genaue Arraygröße zu berechnen, die erforderlich GetChars ist, um die resultierenden Zeichen zu speichern, verwenden Sie GetCharCount. Um die maximale Arraygröße zu berechnen, sollte die Anwendung verwenden GetMaxCharCount. Die GetCharCount Methode ermöglicht in der Regel die Zuordnung von weniger Arbeitsspeicher, während die GetMaxCharCount Methode im Allgemeinen schneller ausgeführt wird.

Weitere Informationen

Gilt für: