char (C#-Referenz)char (C# reference)

Das Schlüsselwort vom Typ char ist ein Alias für den .NET-System.Char-Strukturtyp, der ein Unicode-UTF-16-Zeichen darstellt.The char type keyword is an alias for the .NET System.Char structure type that represents a Unicode UTF-16 character.

TypType BereichRange GrößeSize .NET-Typ.NET type
char U+0000 in U+FFFFU+0000 to U+FFFF 16 Bit16 bit System.Char

Der Standardwert des char-Typs ist \0, d. h. U+0000.The default value of the char type is \0, that is, U+0000.

Der string-Typ stellt Text als Sequenz von char-Werten dar.The string type represents text as a sequence of char values.

LiteraleLiterals

Sie können einen char-Wert mit Folgendem angeben:You can specify a char value with:

  • einem Zeichenliteral.a character literal.
  • einer Escapesequenz für Unicodezeichen, d. h. \u gefolgt von der aus vier Symbolen bestehenden Hexadezimaldarstellung eines Zeichencodes.a Unicode escape sequence, which is \u followed by the four-symbol hexadecimal representation of a character code.
  • einer Escapesequenz für Hexadezimalzahlen, d. h. \x gefolgt von der Hexadezimaldarstellung eines Zeichencodes.a hexadecimal escape sequence, which is \x followed by the hexadecimal representation of a character code.
var chars = new[]
{
    'j',
    '\u006A',
    '\x006A',
    (char)106,
};
Console.WriteLine(string.Join(" ", chars));  // output: j j j j

Wie das obige Beispiel zeigt, können Sie den Wert eines Zeichencodes auch in den entsprechenden char-Wert umwandeln.As the preceding example shows, you also can cast the value of a character code into the corresponding char value.

Hinweis

Im Falle einer Escapesequenz für Unicodezeichen müssen Sie alle vier Hexadezimalziffern angeben.In the case of a Unicode escape sequence, you must specify all four hexadecimal digits. \u006A ist also eine gültige Escapesequenz, \u06A und \u6A sind hingegen nicht gültig.That is, \u006A is a valid escape sequence, while \u06A and \u6A are not valid.

Bei einer Escapesequenz für Hexadezimalzahlen können Sie die führenden Nullen weglassen.In the case of a hexadecimal escape sequence, you can omit the leading zeros. Die Escapesequenzen \x006A, \x06A und \x6A sind also gültig und entsprechen demselben Zeichen.That is, the \x006A, \x06A, and \x6A escape sequences are valid and correspond to the same character.

KonvertierungenConversions

Der char-Typ kann implizit in die folgenden ganzzahligen Typen konvertiert werden: ushort, int, uint, long und ulong.The char type is implicitly convertible to the following integral types: ushort, int, uint, long, and ulong. Zudem lässt er sich auch implizit in diese integrierten numerischen Gleitkommatypen konvertieren: float, double und decimal.It's also implicitly convertible to the built-in floating-point numeric types: float, double, and decimal. Er kann explizit in die ganzzahligen Typen sbyte, byte und short konvertiert werden.It's explicitly convertible to sbyte, byte, and short integral types.

Es gibt keine impliziten Konvertierungen anderen Typen in Typ char.There are no implicit conversions from other types to the char type. Alle ganzzahligen numerischen Typen oder numerischen Gleitkommatypen lassen sich jedoch explizit in char konvertieren.However, any integral or floating-point numeric type is explicitly convertible to char.

C#-SprachspezifikationC# language specification

Weitere Informationen finden Sie im Abschnitt Integrale Typen der C#-Sprachspezifikation.For more information, see the Integral types section of the C# language specification.

Siehe auchSee also