Char-Datentyp (Visual Basic)

Enthält 16-Bit-Codepunkte (2 Bytes) ohne Vorzeichen mit einem Wert zwischen 0 und 65.535. Jeder Codepunkt oder Zeichencode stellt ein einzelnes Unicode-Zeichen dar.

Bemerkungen

Verwenden Sie den Char-Datentyp, wenn Sie nur ein einzelnes Zeichen speichern müssen und den Mehraufwand von String nicht benötigen. In bestimmten Fällen können Sie Char() (ein Array von Char-Elementen) verwenden, um mehrere Zeichen zu speichern.

Der Standardwert von Char ist das Zeichen mit dem Codepunkt 0.

Unicode-Zeichen

Die ersten 128 Codepunkte (0 bis 127) von Unicode entsprechen den Buchstaben und Symbolen auf einer US-Standardtastatur. Diese ersten 128 Codepunkte sind identisch mit denen, die der ASCII-Zeichensatz definiert. Die zweiten 128 Codepunkte (128 bis 255) stellen Sonderzeichen dar, z. B. Buchstaben des lateinischen Alphabets, diakritische Zeichen, Währungssymbole und Brüche. Unicode verwendet die verbleibenden Codepunkte (256 bis 65.535) für eine Vielzahl von Symbolen – einschließlich weltweiter Textzeichen, diakritischer Zeichen und mathematischer und technischer Symbole.

Sie können Methoden wie IsDigit und IsPunctuation für eine Char-Variable verwenden, um die Unicode-Klassifizierung zu bestimmen.

Typkonvertierungen

Visual Basic konvertiert Werte nicht direkt zwischen Char und den numerischen Typen. Mit der Funktion Asc oder AscW können Sie einen Char-Wert in einen Integer-Wert konvertieren, der den zugehörigen Codepunkt darstellt. Mit der Funktion Chr oder ChrW können Sie einen Integer-Wert in einen Char-Wert konvertieren, der über diesen Codepunkt verfügt.

Wenn der Typüberprüfungsschalter (Option Strict-Anweisung) aktiviert ist, müssen Sie das Literaltypzeichen an ein einstelliges Zeichenfolgenliteral anfügen, um es als Char-Datentyp zu identifizieren. Dies wird anhand des folgenden Beispiels veranschaulicht. Die erste Zuweisung zur charVar-Variablen generiert den Compilerfehler BC30512, da Option Strict aktiviert ist. Die zweite Zuweisung wird erfolgreich kompiliert, da das Literal durch das Literaltypzeichen c als Char-Wert identifiziert wird.

Option Strict On

Module CharType
    Public Sub Main()
        Dim charVar As Char

        ' This statement generates compiler error BC30512 because Option Strict is On.  
        charVar = "Z"  

        ' The following statement succeeds because it specifies a Char literal.  
        charVar = "Z"c
    End Sub
End Module

Programmiertipps

  • Negative Zahlen. Char ist ein Typ ohne Vorzeichen und kann keinen negativen Wert darstellen. Char sollte aber ohnehin nicht zum Speichern numerischer Werte verwendet werden.

  • Interop-Überlegungen. Wenn Sie Komponenten einbinden, die nicht für .NET Framework geschrieben wurden (beispielsweise Automatisierung oder COM-Objekte), denken Sie daran, dass Zeichentypen in anderen Umgebungen eine andere Datenbreite (8 Bit) besitzen. Wenn Sie ein 8-Bit-Argument an eine solche Komponente übergeben, deklarieren Sie es im neuen Visual Basic-Code als Byte und nicht als Char.

  • Erweiterung. Der Char-Datentyp wird zu String erweitert. Das bedeutet, dass Sie Char in String konvertieren können und keine Ausnahme vom Typ System.OverflowException auftritt.

  • Typzeichen. Durch Anhängen des Literaltypzeichens C an ein Zeichenfolgenliteral mit nur einem Zeichen wird der Char-Datentyp erzwungen. Char hat keine Bezeichner-Typzeichen.

  • Framework-Typ. Der entsprechende Typ in .NET Framework ist die System.Char-Struktur.

Siehe auch