char (Справочник по C#)
Ключевое слово типа char
— это псевдоним для типа структуры System.Char .NET, представляющий символ UTF-16 в Юникоде.
Тип | Диапазон | Размер | Тип .NET |
---|---|---|---|
char |
От U+0000 до U+FFFF | 16 разрядов | System.Char |
Значение по умолчанию для типа char
— \0
, то есть U+0000.
Тип char
поддерживает сравнение, проверку равенства, а также операции инкремента и декремента. Кроме того, для операндов char
арифметические и побитовые логические операторы выполняют операцию с соответствующими кодами символов и создают результат типа int
.
Тип string представляет текст как последовательность значений char
.
Литералы
Значение char
можно указать следующим образом:
- символьный литерал;
- escape-последовательность Юникода, то есть символы
\u
, за которыми следует шестнадцатеричное представление кода символа из четырех символов; - шестнадцатеричная escape-последовательность, то есть символы
\x
, за которыми следует шестнадцатеричное представление кода символа.
var chars = new[]
{
'j',
'\u006A',
'\x006A',
(char)106,
};
Console.WriteLine(string.Join(" ", chars)); // output: j j j j
Как показано в предыдущем примере, можно также привести значение кода символа к соответствующему значению char
.
Примечание.
В случае escape-последовательности Юникода необходимо указать все четыре шестнадцатеричные цифры. То есть \u006A
— допустимая escape-последовательность, а \u06A
и \u6A
нет.
В случае шестнадцатеричной escape-последовательности начальные нули можно опустить. То есть \x006A
, \x06A
и \x6A
— допустимые escape-последовательности, соответствующие одному символу.
Преобразования
Тип char
неявно преобразуется в следующие целочисленные типы: ushort
, int
, uint
, long
и ulong
. Он также может быть неявно преобразован во встроенные числовые типы с плавающей запятой: float
, double
и decimal
. Он явно преобразуется в целочисленные типы sbyte
, byte
и short
.
Неявные преобразования из других типов в тип char
не предусмотрены. Но любой целочисленный тип или числовой тип с плавающей запятой явно преобразуется в char
.
Спецификация языка C#
Дополнительные сведения см. в разделе Целочисленные типы в статье Спецификации языка C#.