1.字符类Char的使用
1.1 Char类概述
Char在C#中表示一个Unicode字符,正是这些Unicode字符构成了字符串。Unicode字符是目前计算机通用的字符编码,它可满足跨语言、跨平台的文本转换、处理的要求。
它的定义非常简单:
char ch1=’L’;
1.2 Char类的使用
方 法 | 说 明 |
IsControl | 指示指定的unicode字符是否属于控制字符类别 |
IsDigit | 指示某个unicode字符是否属于十进制数字类别 |
IsHighSurrogate | 指示指定的char对象是否为高代理项 |
IsLetter | 指示某个unicode字符是否属于字母类别 |
IsLetterOrDigit | 指示某个unicode字符是否属于字母类别还是属于十进制数字类别 |
IsLower | 指示某个unicode字符是否属于小写字母类别 |
IsLowerSurrogate | 指示指定的char对象是否为低代理项 |
IsNumber | 指示某个unicode字符是否属于数字类别 |
IsPunctuation | 指示某个unicode字符是否属于标点符号类别 |
IsSeparator | 指示某个unicode字符是否属于分割符类别 |
IsSurrogate | 指示某个unicode字符是否属于代理项字符类别 |
IsSurrogatePair | 指示两个制定的char对象是否形成代理项对 |
IsSymbol | 指示某个unicode字符是否属于符号字符类别 |
IsUpper | 指示某个unicode字符是否属于大写字母类别 |
IsWhiteSpace | 指示某个unicode字符是否属于空白类别 |
Parse | 将指定字符串的值转换为他的等效的unicode字符 |
ToLower | 将unicode字符的值转换为它的小写等效项 |
ToLowerInvariant | 使用固定区域性的大小写规则,将Unicode字符的值转换为其小写等效项 |
ToString | 将此实例的值转换为其等效的字符串表示 |
ToUpper | 将unicode字符的值转换为它的大写等效项 |
TryParse | 将指定字符串的值转换为它的等效unicode字符 |
ToUpperInvariant | 使用固定区域性的大小写规则,将Unicode字符的值转换为其大写等效项 |
Char类提供了许多种方法,其中以Is和To开头的比较重要。以Is开头的方法大多是判断Unicode字符是否为某个类别,以To开头的方法主要是转换为其他Unicode字符。
下面是其中几种方法的举例,其他方法的使用类似:
static void Main(string[] args)
{
char a='a'; //声明字符a
char b='x'; //声明字符b
//使用IsLetter方法判断a是否为字母
Console.WriteLine("IsLetter方法判断a是否为字母:{0}",char.IsLetter (a));
//使用IsDigit方法判断b是否为数字
Console.WriteLine("IsDigit方法判断b是否为数字:{0}",char.IsDigit (b ));
Console.ReadLine();
}
运行结果如下图:
1.3 转义字符
C#中采用字符“\”作为转义字符。那么什么情况下会用到转义字符呢?例如,定义一个字符,而这个字符是单引号,如果不使用转义字符就会出错。
下面是常用的转义字符:
转义符 | 说 明 |
\n | 回车换行 |
\t | 横向调到下一制表位置 |
\v | 竖向跳格 |
\b | 退格 |
\r | 回车 |
\f | 换页 |
\\ | 反斜线符 |
\’ | 单引号符 |
\ddd | 1~3位八进制数所代表的字符 |
\xhh | 1~2位十六进制数所代表的字符 |
示例代码:
static void Main(string[] args)
{
Console.WriteLine("活到老学到老");
Console.WriteLine("活到老\n学到老");
Console.ReadLine();
}
运行结果:
2.字符串类String的使用
2.1 String类概述
.NETFramework中表示字符串的关键字是string,它是String类的别名。string类型表示Unicode字符的字符串。String类类似于string类型,但是功能更强。其中有一点值得注意,一旦创建String对象,就不能够修改。当然了,当需要大量的修改时,可使用StringBuilder类。
2.2 String类的使用
字符串是Unicode字符的有序集合,用于表示文本。String.Char对象的有序集合,用于表示字符串。正是字符构成了字符串,根据字符在字符串中的不同位置,字符在字符串中有一个索引值,可以通过索引值获取字符串中的某个字符。例如:字符串“people”中的第二个字符为e,那么e在字符串中的索引顺序就是1.(以0开始)
示例代码:
static void Main(string[] args)
{
string m1 = "people"; //声明一个字符串变量m1
char m2 = m1[1]; //获取字符串m2的第二个字符
Console.WriteLine("字符串m1中的第二个字符是:{0}",m2);
Console.ReadLine();
}
运行结果:
2.2.1 比较字符串
在C#中最常见的比较字符串的方法有Compare、CompareTo和Equals方法等,这些方法都属于String类。
(1) Compare方法:用来比较两个字符串是否相等。
int compare(string strA,string strB)
int Compare(string strA,string strB,bool ignorCase)
(2)CompareTo方法:和compare方法类似,不同的是CompareTo方法以实例对象本身与指定的字符串做比较。其语法为:Public int CompareTo(string strB)
示例:比较字符串stra和strb。
stra.CompareTo(strb)
如果stra的值与strb相等则返回0;如果stra大于strb的值,则返回
(3)Equals方法:用于比较两个字符串是否相同,如果相同则返回值为true,否则为false。用法与CompareTo类似。
2.2.2格式化字符串
在C#中,String类提供了一个静态的Format方法,用于将字符串数据格式化为指定的格式,其语法如下:
Public static string Format(string format,objectobj)
示例代码:
static void Main(string[] args)
{
string StrA = "用一生下载你"; //声明字符串StrA
string StrB = "永不放弃"; //声明字符串StrB
string newstr =string.Format("{0},{1}!!!",StrA ,StrB ); //格式化字符串
Console.WriteLine(newstr); //输出结果
Console.ReadLine();
}
运行结果:
2.2.3 截取字符串
String类提供了一个Substring方法,可截取字符串中指定位置和长度的字符。
示例代码:
staticvoid Main(string[] args)
{
string StrA = "用一生下载你"; //声明字符串StrA
string StrB =""; //声明字符串StrB
StrB =StrA.Substring(2,4); //从索引2开始截取4个字符,复制给StrB
Console.WriteLine(StrB ); //输出结果
Console.ReadLine();
}
运行结果:
2.2.4 分割字符串
String类提供了一个Split方法用于分割字符串,此方法的返回值是包括所有分割子字符串的数组对象。
示例代码:
static void Main(string[] args)
{
string StrA = "用&一生#下载,你"; //声明字符串StrA
char[] separator = { '&','#',','}; //声明分割字符的数组
String[] splitstrings=new string [100];//声明一个字符串数组
splitstrings= StrA.Split(separator); //分割字符串
for(int i = 0; i < splitstrings.Length; i++)
{
Console.WriteLine("item{0}:{1}",i ,splitstrings [i]);
}
Console.ReadLine();
}
运行结果:
2.2.5 插入和填充字符串
String类提供了一个Insert方法,用于向字符串的任意位置插入新元素。
示例代码:
Str2=Str1.Insert(0,”用一生”); //使用Insert方法向字符串Str1的索引0处插入字符串“用一生”
填充字符串与此类似,使用PadLeft/PadRight方法。
2.2.6 删除字符串
使用Remove方法,从一个字符串的指定位置开始,删除指定数量的字符。
示例代码:
Str2=Str1.Remove(3); //使用Insert方法从字符串Str1的索引3处开始删除
2.2.7 复制字符串
使用Copy和CopyTo方法,用于将字符串或子字符串复制到另一个字符串或Char类型的数组中。
示例代码:
Str2=String.Copy(Str1); //使用Copy方法复制Str1并赋值给Str2
2.2.8 替换字符串
使用Replace方法,用于将字符串中德某个字符或字符串替换成其他的字符或字符串。
3.可变字符串类StringBuilder的使用
StringBuilder类存在于System.Text命名空间中,如果要创建StringBuilder对象,必须先引用此命名空间。
StringBuilder类中的常用那个方法有以下五种:
方 法 | 说 明 |
Append | 将文本或字符串追加到指定对象的末尾 |
AppendFormat | 自定义变量的格式并将这些值追加到StringBuilder对象的末尾 |
Insert | 将字符串或对象添加到当前StringBuilder对象中的指定位置 |
Remove | 从当前StringBuilder对象中移除指定数量的字符 |
Replace | 用另一个指定的字符来替换StringBuilder对象内的字符 |
示例代码:
Str2.Append(”回家”); //使用Append方法将“回家”追加到Str2的末尾
Str2.AppendFormat(“{0:C}”,Num); //使用AppendFormat方法将字符串按照指定的格式追加到Str2的末尾
Str2.Insert(0,”名称是:”); //使用Insert方法将“名称是:”追加到Str2的开头
Str2.Remove(2,Str2.Length-2); //使用Remove方法从Str2中删除索引2以后的字符串
Str2..Replace(“名称”,”一生所爱”); //使用Replace方法将“名称”替换为“一生所爱”
以上是C#中字符和字符串的一些基本知识,你学会了吗?