字符数据类型是指单引号之间的符号,单引号如下所示:
' '
表3-4所示为字符数据类型的概念。
表3-4 C#字符数据类型表
声明字符变量可以使用char关键词,每一个char所声明的变量占据的内存空间是16位,即两个字节(Byte)。因为2 16 =65536,所以每个字符char,可代表65536个不同的值。在C#语言系统中,这65536个不同的值是依据Unicode UTF-16字符生成的,值的范围则是0~65535。其中前256个不同的值是根据ASCII码的值排列的,而这些码的值包含小写字母、大写字母、数字、标点符号及其他一些特殊符号,读者可以参考附录B。
声明字符变量需使用char关键词,其语法如下:
char 字符变量;
实例 .以下是在声明一字符变量x。
第10章会介绍更多字符数据的应用。
方案ch3_12.sln: 使用sizeof()函数列出字符长度。
设计C#程序时可以使用以下3种方式创建char值。
1.字符常值:‘A’。
2.Unicode的序列值:‘\u’后面接4个十六进制的值。
3.十六进制序列值:‘\x’后面接4个十六进制的值。
‘\u’与‘\x’使用上仍有区别,对于字符A而言,Unicode的十进制码值是65,十六进制码值是‘\u0041’或‘\x0041’。在使用十六进制序列值时可以省略数值前的00,例如,以下表示是允许的。
'\x41' // 允许
在使用Unicode的序列值时,以下表示是不允许的。
'\u41' // 不允许
实例.声明一字符变量x,将其码值设为十六进制的‘\u0041’。
char x = '\u0041';
或是
char x = '\x0041';
或是
char x = '\x41';
方案ch3_13.sln: 设定字符的应用。
上述程序第9行主要是让读者体会,在同一行输出多个变量的另一种方法,在大括号内的数值参数可以指定所对应的变量位置。
在使用C#时,如果想要输出中文常用的符号,只要知道此符号的Unicode码,就可以直接使用上述方案ch3_13.sln的概念输出。
方案ch3_13_1.sln: 输出星号,实体星号的Unicode是‘\u2605’,空白星号的Unicode是‘\u2606’。
另外在Unicode的字符内,有一些无法打印的字符,这些字符的特性是含有“\”符号,如‘\0’,我们又称这些字符为转义字符(Escape character),表3-5所示为这些字符。
表3-5 转义字符表
方案ch3_14.sln: 测试转义字符‘\n’可以换行输出,‘\t’类似按Tab键可以标记新位置输出。
C#程序设计师有时还是会习惯组合回车字符(‘\r’)和换行字符(‘\n’),产生输出换行的效果。读者可以参考本书所附方案ch3_14_1.sln。