- C#从入门到精通(第4版)
- 明日科技
- 1466字
- 2020-11-28 16:23:19
5.1 字符类Char的使用
视频讲解:光盘\TM\lx\5\01字符类Char的使用.mp4
5.1.1 Char类概述
Char类主要用来存储单个字符,占用16位(两个字节)的内存空间。在定义字符型变量时,要以单引号表示,如’s’表示一个字符。而"s"则表示一个字符串,虽然其只有一个字符,但由于使用双引号,所以它仍然表示字符串,而不是字符。Char的定义非常简单,可以通过下面的代码定义字符。
Char ch1='L'; char ch2='1';
注意 Char只定义一个Unicode字符。Unicode字符是目前计算机中通用的字符编码,它为针对不同语言中的每个字符设定了统一的二进制编码,用于满足跨语言、跨平台的文本转换、处理的要求。
5.1.2 Char类的使用
Char类为开发人员提供了许多的方法,可以通过这些方法灵活地操作字符。Char类的常用方法及说明如表5.1所示。
表5.1 Char的常用方法及说明
可以看到Char提供了非常多的实用方法,其中以Is和To开头的比较重要。以Is开头的方法大多是判断Unicode字符是否为某个类别,以To开头的方法主要是转换为其他Unicode字符。
【例5.1】创建一个控制台应用程序,演示如何使用Char类提供的常见方法,代码如下。(实例位置:光盘\TM\sl\5\1)
static void Main(string[] args) { char a='a'; //声明字符a char b='8'; //声明字符b char c='L'; //声明字符c char d='.'; //声明字符d char e='|'; //声明字符e char f=''; //声明字符f //使用IsLetter方法判断a是否为字母 Console.WriteLine("IsLetter方法判断a是否为字母:{0}", Char.IsLetter(a)); //使用IsDigit方法判断b是否为数字 Console.WriteLine("IsDigit方法判断b是否为数字:{0}", Char.IsDigit(b)); //使用IsLetterOrDigit方法判断c是否为字母或数字 Console.WriteLine("IsLetterOrDigit方法判断c是否为字母或数字:{0}", Char.IsLetterOrDigit(c)); //使用IsLower方法判断a是否为小写字母 Console.WriteLine("IsLower方法判断a是否为小写字母:{0}", Char.IsLower(a)); //使用IsUpper方法判断c是否为大写字母 Console.WriteLine("IsUpper方法判断c是否为大写字母:{0}", Char.IsUpper(c)); //使用IsPunctuation方法判断d是否为标点符号 Console.WriteLine("IsPunctuation方法判断d是否为标点符号:{0}", Char.IsPunctuation(d)); //使用IsSeparator方法判断e是否为分隔符 Console.WriteLine("IsSeparator方法判断e是否为分隔符:{0}", Char.IsSeparator(e)); //使用IsWhiteSpace方法判断f是否为空白 Console.WriteLine("IsWhiteSpace方法判断f是否为空白:{0}", Char.IsWhiteSpace(f)); Console.ReadLine(); }
程序的运行结果如图5.1所示。
图5.1 Char类常用方法的应用
5.1.3 转义字符
转义字符是一种特殊的字符变量,其以反斜线“\”开头,后跟一个或多个字符。转义字符具有特定的含义,不同于字符原有的意义,故称“转义”。例如,定义一个字符,而这个字符是单引号,如果不使用转义字符,则会产生错误。
转义字符就相当于一个电源变换器,电源变换器就是通过一定的手段获得所需的电源形式,例如交流变成直流、高电压变为低电压、低频变为高频等。转义字符也是,它是将字符转换成另一种操作形式,或是将无法一起使用的字符进行组合。
注意 转义符\(单个反斜杠)只针对后面紧跟着的单个字符进行操作。
【例5.2】不使用转义字符定义字符,字符的值为单引号,产生错误,代码如下。
static void Main(string[] args) //Main方法 { char M='''; //声明一个字符变量,值为单引号 }
程序的运行结果如图5.2所示。
图5.2 错误提示
【例5.3】为了避免此错误,应该使用转义字符,代码如下。
static void Main(string[] args) //Main方法 { char a='\''; //使用转义字符定义字符的值为单引号 }
此外还有其他转义字符,如表5.2所示。
表5.2 转义字符
说明 大多数重要的正则表达式语言运算符都是非转义的单个字符。转义符\(单个反斜杠)通知正则表达式分析器反斜杠后面的字符不是运算符。例如,分析器将r视为字符,而将后跟r的反斜杠(\r)视为回车功能。
【例5.4】创建一个控制台应用程序,然后通过转义字符使Console.Write与Console.WriteLine有相同的效果,代码如下。(实例位置:光盘\TM\sl\5\2)
static void Main(string[] args) //Main方法 { Console.WriteLine("用一生下载你"); //通过Console.WriteLine输出字符串 Console.Write("用一生下载你\n"); //通过使用转义字符输出字符串 Console.Write("用一生下载你\n芸烨湘枫"); //通过使用转义字符输出字符串 Console.ReadLine(); }
程序的运行结果如图5.3所示。
图5.3 转义字符的使用
闯关训练:尝试使用Char字符实现字母与ASCII的相互转换,提示:在将字母转换为ASCII时,需要用到Encoding编码类;而在将ASCII转换为字母时,直接使用Char强制类型转换即可。