char (odwołanie w C#)

Słowo char kluczowe typu jest aliasem typu struktury .NET System.Char , który reprezentuje znak Unicode UTF-16.

Typ Zakres Rozmiar Typ platformy .NET
char U+0000 do U+FFFF 16-bitowy System.Char

Wartość char domyślna typu to \0, czyli U+0000.

Typ char obsługuje operatory porównania, równości, przyrostu i dekrementacji . Ponadto w przypadku char operandów operatory arytmetyczne i bitowe wykonują operację na odpowiednich kodach znaków i generują wynik int typu.

Typ ciągu reprezentuje tekst jako sekwencję char wartości.

Literały

Możesz określić wartość za char pomocą:

  • literał znaku.
  • sekwencja ucieczki Unicode, po której następuje \u szesnastkowa reprezentacja szesnastkowa z czterema symbolami kodu znaku.
  • sekwencja ucieczki szesnastkowej, po której następuje \x reprezentacja szesnastkowa kodu znaku.
var chars = new[]
{
    'j',
    '\u006A',
    '\x006A',
    (char)106,
};
Console.WriteLine(string.Join(" ", chars));  // output: j j j j

Jak pokazano w poprzednim przykładzie, można również rzutować wartość kodu znaku na odpowiadającą char mu wartość.

Uwaga

W przypadku sekwencji ucieczki Unicode należy określić wszystkie cztery cyfry szesnastkowe. Oznacza to, \u006A że jest prawidłową sekwencją ucieczki, chociaż \u06A i \u6A są nieprawidłowe.

W przypadku szesnastkowej sekwencji ucieczki można pominąć zera wiodące. Oznacza to, że \x006Asekwencje , \x06Ai \x6A ucieczki są prawidłowe i odpowiadają temu samemu znakowi.

Konwersje

Typ char jest niejawnie konwertowany na następujące typy całkowite: ushort, , uintint, longi ulong. Jest również niejawnie konwertowany na wbudowane typy liczb zmiennoprzecinkowe : float, doublei decimal. Jest jawnie konwertowany na sbytetypy całkowite , i , byte.short

Nie ma niejawnych konwersji z innych typów na char typ. Jednak każdy typ liczb całkowitych lub zmiennoprzecinkowych jest jawnie konwertowany na charwartość .

specyfikacja języka C#

Aby uzyskać więcej informacji, zobacz sekcję Typy całkowite specyfikacji języka C#.

Zobacz też