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 \x006A
sekwencje , \x06A
i \x6A
ucieczki są prawidłowe i odpowiadają temu samemu znakowi.
Konwersje
Typ char
jest niejawnie konwertowany na następujące typy całkowite: ushort
, , uint
int
, long
i ulong
. Jest również niejawnie konwertowany na wbudowane typy liczb zmiennoprzecinkowe : float
, double
i decimal
. Jest jawnie konwertowany na sbyte
typy 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 char
wartość .
specyfikacja języka C#
Aby uzyskać więcej informacji, zobacz sekcję Typy całkowite specyfikacji języka C#.