首页 > 编程笔记 > C#笔记 阅读:15

C# char字符类型的用法(附带实例)

本节我们使用 char 声明 C# 字符变量,关键词 char 是 .NET System.Char 结构类型,可以参考下表:

C# 类型 范围 大小 .NET 类
char U+0000 到 U+FFFF 16 位 System.Char

范围字段 U+ 代表 Unicode 码值的范围。

上述我们可以看到 C# 类型是 char,其实也可以使用 Char 或 System.Char 声明变量,C# 是一个面向对象的程序语言,所以也可以认为 char 或 Char 是声明对象变量。

其实 Char 和 System.Char 是一样的,因为 C# 最新上层语句已经隐式地使用 using System,所以 Char 可以省略 System。

例如,使用 char、Char 和 System.Char 声明变量:
char ch1 = 'A';
Char ch2 = 'B';
System.Char ch3 = 'C';
Console.WriteLine($"{ch1}\t{ch2}\t{ch3}");
执行结果

A    B    C

习惯上 C# 程序设计师还是喜欢使用 char 关键词声明字符。

C# Char字符类常用的方法

Char 类内主要是处理字符有关的方法,这些方法可以方便程序设计师在设计程序时使用,下表是常用的方法列表。

表:Char 类的常用方法
方法 说明
IsDigit() 是不是十进制数,可以参考的备注。(10-2-2 节)
IsLetter() 是不是大写或是小写英文字母。(10-2-2 节)
IsLetterOrDigit() 是不是十进制数或是英文字母。(10-2-2 节)
IsNumber() 是不是数字,可以参考我的备注。(10-2-2 节)
IsLower() 是不是小写英文字母。(10-2-3 节)
IsUpper() 是不是大写英文字母。(10-2-3 节)
IsSymbol() 是不是符号。(10-2-4 节)
IsSeparator() 是不是分隔符,如\u0020 字符。
IsWhiteSpace() 是不是空格符,如' '。(10-2-4 节)
IsPunctuation() 是不是标点符号,如','字符。(10-2-5 节)

表中的方法,如果是真则回传 True,如果是假则回传 False。

IsDigit() 是指 0~9 的阿拉伯数字,IsNumber() 除了 0~9 的阿拉伯数字还包括罗马数字,例如,“X”是罗马符号的 10。

1) C#判断数字和字母的方法

用 IsDigit()、IsLetter() 和 IsNumber() 方法,执行数字和字母的判别。
char a = '5';
Console.WriteLine($"isDigit({a})是Digit :{Char.IsDigit(a)}");
a = 'A';
Console.WriteLine($"isLetter({a})是字母 :{Char.IsLetter(a)}");
a = '\u2162'; // 罗马数字 3 的 Unicode 码
Console.WriteLine($"isDigit({a})是Digit :{Char.IsDigit(a)}");
Console.WriteLine($"isNumber({a})是Number :{Char.IsNumber(a)}");
执行结果为:

isDigit(5)是Digit :True
isLetter(A)是字母 :True
isDigit(Ⅲ)是Digit :False
isNumber(Ⅲ)是Number :True

方法 IsLetterOrDigit() 则可以判断是不是字母或数字。

2) C#判断大小写字母的方法

用 IsUpper()、IsLower() 方法,执行大小写字母的判别。
char a = 'A';
Console.WriteLine($"isUpper({a})是大写字母:{Char.IsUpper(a)}");
Console.WriteLine($"isLower({a})是小写字母:{Char.IsLower(a)}");
a = 'a';
Console.WriteLine($"isUpper({a})是大写字母:{Char.IsUpper(a)}");
Console.WriteLine($"isLower({a})是小写字母:{Char.IsLower(a)}");
a = '@';
Console.WriteLine($"isUpper({a})是大写字母:{Char.IsUpper(a)}");
Console.WriteLine($"isLower({a})是小写字母:{Char.IsLower(a)}");
执行结果为:

isUpper(A)是大写字母:True
isLower(A)是小写字母:False
isUpper(a)是大写字母:False
isLower(a)是小写字母:True
isUpper(@)是大写字母:False
isLower(@)是小写字母:False

3) C#判断符号的方法

方法 IsSymbol() 可以判断数据是不是符号,所谓的符号是指货币符号、数学运算符、箭号、几何符号、数字格式(如上标或是下标)等。

例如,用 IsSymbol()、IsWhiteSpace() 方法,执行符号(Symbol)和泛空格符(WhiteSpace)的判别。
char a = '$';
Console.WriteLine($"'a' 是Symbol :{Char.IsSymbol(a)}");
Console.WriteLine($"'a' 是WhiteSpace :{Char.IsWhiteSpace(a)}");
a = ' ';
Console.WriteLine($"'a' 是Symbol :{Char.IsSymbol(a)}");
Console.WriteLine($"'a' 是WhiteSpace :{Char.IsWhiteSpace(a)}");
a = '@';
Console.WriteLine($"'a' 是Symbol :{Char.IsSymbol(a)}");
Console.WriteLine($"'a' 是WhiteSpace :{Char.IsWhiteSpace(a)}");
a = '+';
Console.WriteLine($"'a' 是Symbol :{Char.IsSymbol(a)}");
Console.WriteLine($"'a' 是WhiteSpace :{Char.IsWhiteSpace(a)}");
执行结果为:

$ 是Symbol :True
$ 是WhiteSpace :False
   是Symbol :False
   是WhiteSpace :True
@是Symbol :False
@是WhiteSpace :False
+ 是Symbol :True
+ 是WhiteSpace :False

4) C#判断是不是标点符号的方法

IsPunctuation() 方法可以判断是不是标点符号,如','、'!'等。
char a = '$';
Console.WriteLine($"'a' 是标点符号:{Char.IsPunctuation(a)}");
a = ',';
Console.WriteLine($"'a' 是标点符号:{Char.IsPunctuation(a)}");
a = '.';
Console.WriteLine($"'a' 是标点符号:{Char.IsPunctuation(a)}");
a = ';';
Console.WriteLine($"'a' 是标点符号:{Char.IsPunctuation(a)}");
执行结果为:

$ 是标点符号:False
, 是标点符号:True
. 是标点符号:True
; 是标点符号:True

相关文章