char
type 关键字是表示 Unicode UTF-16 代码单元(通常是 UTF-16 字符)的 .NET System.Char 结构类型的别名。
类型 | 范围 | 尺寸 | .NET 类型 |
---|---|---|---|
char |
U+0000 到 U+FFFF | 16 位 | System.Char |
类型的默认值 char
为 \0
U+0000。
该 char
类型支持 比较、 相等、 递增和 递减 运算符。 此外,对于 char
作数, 算术 和 按位逻辑 运算符对相应的代码点执行运算,并将结果生成为值 int
。
字符串类型将文本表示为值序列char
。
文本
可以使用以下内容指定值 char
:
- 字符文本。
- Unicode 转义序列,
\u
后跟字符代码的四符号十六进制表示形式。 - 十六进制转义序列,
\x
后跟字符代码的十六进制表示形式。
var chars = new[]
{
'j',
'\u006A',
'\x006A',
(char)106,
};
Console.WriteLine(string.Join(" ", chars)); // output: j j j j
如前面的示例所示,还可以将字符代码的值强制转换为相应的 char
值。
注释
在 Unicode 转义序列中,必须指定所有四个十六进制数字。 也就是说, \u006A
是有效的转义序列,而 \u06A
无效 \u6A
。
在十六进制转义序列中,可以省略前导零。 也就是说,\x006A
和\x06A
\x6A
转义序列是有效的,对应于同一个字符。
转换
该char
类型可隐式转换为以下整型类型:ushort
、、、uint
int
、long
、ulong
、 nint
和nuint
。 它还可隐式转换为内置 浮点 数值类型: float
、 double
和 decimal
。 它可显式转换为sbyte
byte
整型类型以及short
整型类型。
没有从其他类型的隐式转换到该 char
类型。 但是,任何 整型 或 浮点 数值类型都显式转换为 char
。