|
|
|
|
移动端

2.2.2 字符类型

《C# 6.0本质论(第5版)》第2章数据类型,本章将探讨这些数据类型,更深入地研究字符串类型,并引入数组的概念。本节为大家介绍字符类型。

作者:周靖/庞燕 译来源:人民邮电出版社|2017-07-21 15:27

【新品产上线啦】51CTO播客,随时随地,碎片化学习

2.2.2 字符类型

字符类型char表示16位字符,其取值范围对应于Unicode字符集。从技术上说,char的大小和16位无符号整数(ushort)相同,后者的取值范围是0~65 535。但char是C#的一个独特类型,在代码中应该体现这一点。

char的BCL名称是System.Char。

初学者主题:Unicode标准

Unicode是一个国际性标准,用来表示大多数语言中的字符。它便于计算机系统构建本地化的应用程序,为不同的语言文化显示具有本地特色的字符。

高级主题:16位不足以表示所有Unicode字符

令人遗憾的是,不是所有Unicode字符都能用一个16位char表示。刚开始提出Unicode的概念时,它的设计者以为16位已经足够。但随着支持的语言越来越多,才发现当初的假定是错误的。结果是,一些Unicode字符要由一对称为“代理项”①1的char构成,总共32位。

为了输入char类型的字面量,需要将字符放到一对单引号中,比如'A'。所有键盘字符都可以像这样输入,包括字母、数字以及特殊符号。

有的字符不能直接插入源代码,需要进行特殊处理。首先输入反斜杠(\)前缀,再跟随一个特殊字符代码。反斜杠和特殊字符代码组成转义序列(escape sequence)。例如,\n代表换行符,而\t代表制表符。由于反斜杠用于标志转义序列的开始,所以不能再用来直接表示一个反斜杠字符,而要用\\表示反斜杠字符。

代码清单2-9输出一个单引号,因为\'代表一个单引号。

代码清单2-9 使用转义序列显示单引号

  1. class SingleQuote  
  2. {  
  3. static void Main()  
  4. {  
  5. System.Console.WriteLine('\'');  
  6. }  

表2-4总结了转义序列以及字符的Unicode编码。

表2-4 转义字符

可以使用Unicode代码表示任何字符。为此,请为Unicode值附加\u前缀。可以使用十六进制记数法表示Unicode字符。例如,字母A的十六进制值是0x41,代码清单2-10使用Unicode字符显示笑脸符号(:)),输出2-8展示了结果。

代码清单2-10 使用Unicode编码显示笑脸符号

  1. System.Console.Write('\u003A');  
  2. System.Console.WriteLine('\u0029'); 

输出2-8

  1. :) 


喜欢的朋友可以添加我们的微信账号:

51CTO读书频道二维码


51CTO读书频道活动讨论群:342347198

【责任编辑:book TEL:(010)68476606】

回书目   上一节   下一节
点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

Wicked Cool Java中文版

本书主要介绍由Sun微系统公司创建的Java编程语言。 除了核心内容外,Java还有许多免费的财富,即开放源代码的库。本书就是为了介绍这些库...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊