C# char字符类型的用法(非常详细)
在 C# 程序中,字符数据类型是指单引号
下表所示为字符数据类型的概念。
声明字符变量可以使用 char 关键词,每一个 char 所声明的变量占据的内存空间是 16 位,即两个字节(Byte)。因为 2^16=65536,所以每个字符 char 可代表 65536 个不同的值。
在 C# 语言系统中,这 65536 个不同的值是依据 Unicode UTF-16 字符生成的,值的范围则是 0~65535。其中前 256 个不同的值是根据 ASCII 码的值排列的,而这些码的值包含小写字母、大写字母、数字、标点符号及其他一些特殊符号。
声明字符变量需使用 char 关键词,其语法如下:
我们可以用 sizeof() 函数列出字符的长度:
‘\u’ 与 ‘\x’ 使用上仍有区别,对于字符 A 而言,Unicode 的十进制码值是 65,十六进制码值是 ‘\u0041’ 或 ‘\x0041’。在使用十六进制序列值时可以省略数值前的 00,例如,以下表示是允许的:
例如,声明一字符变量 x,将其码值设为十六进制的 ‘\u0041’:
【实例】设定字符的应用。
下表所示为这些转义字符。
【实例】测试转义字符‘\n’可以换行输出,‘\t’类似按 Tab 键可以标记新位置输出。
' '
之间的符号。下表所示为字符数据类型的概念。
C# | .NET 类型 | 长 度 | 数值范围 |
---|---|---|---|
char | System.Char | 16 | Unicode 0 ~ 65535 |
声明字符变量可以使用 char 关键词,每一个 char 所声明的变量占据的内存空间是 16 位,即两个字节(Byte)。因为 2^16=65536,所以每个字符 char 可代表 65536 个不同的值。
在 C# 语言系统中,这 65536 个不同的值是依据 Unicode UTF-16 字符生成的,值的范围则是 0~65535。其中前 256 个不同的值是根据 ASCII 码的值排列的,而这些码的值包含小写字母、大写字母、数字、标点符号及其他一些特殊符号。
声明字符变量需使用 char 关键词,其语法如下:
char 字符变量;例如,以下是在声明一字符变量 x:
char x1 = 'A'; // 设定字符变量 x1,同时设定内容是 'A' var x2 = 'B'; // 设定字符变量 x2,同时设定内容是 'B'
我们可以用 sizeof() 函数列出字符的长度:
Console.WriteLine(sizeof(char));执行结果为:
2
C#设定字符的常值
设计 C# 程序时可以使用以下 3 种方式创建 char 值。- 字符常值:‘A’;
- Unicode 的序列值:‘\u’ 后面接 4 个十六进制的值;
- 十六进制序列值:‘\x’ 后面接 4 个十六进制的值。
‘\u’ 与 ‘\x’ 使用上仍有区别,对于字符 A 而言,Unicode 的十进制码值是 65,十六进制码值是 ‘\u0041’ 或 ‘\x0041’。在使用十六进制序列值时可以省略数值前的 00,例如,以下表示是允许的:
'\x41' // 允许在使用 Unicode 的序列值时,以下表示是不允许的:
'\u41' // 不允许
例如,声明一字符变量 x,将其码值设为十六进制的 ‘\u0041’:
char x = '\u0041';或是:
char x = '\x0041';或是:
char x = '\x41';
【实例】设定字符的应用。
char x1 = 'A'; char x2 = '\u0042'; char x3 = '\x0043'; Console.WriteLine($"x1 = {x1}"); Console.WriteLine($"x2 = {x2}"); Console.WriteLine($"x3 = {x3}"); char x4 = '\x44'; // 另一种写法 Console.WriteLine("{0} {1} {2} {3}", x1, x2, x3, x4);执行结果为:
x1 = A
x2 = B
x3 = C
A B C D
C#转义字符
在 Unicode 的字符内,有一些无法打印的字符,这些字符的特性是含有“\”符号,如‘\0’,我们又称这些字符为转义字符(Escape character)。下表所示为这些转义字符。
整数值 | 转义字符 | Unicode 序列值 | 字符名称 |
---|---|---|---|
0 | ‘\0’ | ‘\u0000’ | 空格 (null space) |
7 | ‘\a’ | ‘\u0007’ | 响铃 (bell ring) |
8 | ‘\b’ | ‘\u0008’ | 退格 (backspace) |
9 | ‘\t’ | ‘\u0009’ | 标识 (tab) |
10 | ‘\n’ | ‘\u000A’ | 换行 (newline) |
12 | ‘\f’ | ‘\u000C’ | 送表 (form feed) |
13 | ‘\r’ | ‘\u000D’ | 回车 (carriage return) |
34 | ‘\”’ | ‘\u0022’ | 双引号 (double quote) |
39 | ‘\’’ | ‘\u0027’ | 单引号 (single quote) |
92 | ‘\\’ | ‘\u005C’ | 倒斜线 (back slash) |
【实例】测试转义字符‘\n’可以换行输出,‘\t’类似按 Tab 键可以标记新位置输出。
char x1 = 'A'; char x2 = '\u0042'; char x3 = '\x0043'; char x4 = '\x44'; // 另一种写法 Console.WriteLine("{0}\t{1}\t{2}\t{3}", x1, x2, x3, x4); Console.WriteLine("{0}\n{1}\n{2}\n{3}", x1, x2, x3, x4); Console.WriteLine("{0} {1} \u000A{2} {3}", x1, x2, x3, x4);执行结果为:
A B C D
A B
C D
A B
C D