任何一种编程语言中字符串的处理都是比较重要的,而C#为我们提供了强大的字符串处理功能,下面就来写写C#中字符串的相关操作。
C#中字符串的操作主要是通过两个类来实现的,它们是String类和StringBuilder类。
一、String类
声明String既可以用String也可以用string,String与string的区别是string是C#中的类,而String为Framework中的类,C#中的string将映射为Framework中的String类,即如果使用string编译器会自动编译成Framework中的String类。但是string更加符合C#的规范,所以一般使用的是string
String类表示的是一系列不可变得字符,这里的不可变表示的是无法修改该字符串被分配的堆中的字符串,,如果修改了将会新建一个实例,即重新分配内存空间。
如果在字符串前面加上@表示不使用转义字符,否则默认为使用转义字符。
string使用的是Unicode编码方式,所以无论是英文字母还是汉字都是占两个字节,在计算字符串长度时无论英文字母还是汉字 长度都为1.
字符串的表示格式:
{N [, M][: 格式码]},其中N为从零开始的整数,M是可选整数,表示最小宽度。若该参数的长度小于M,就用空格填充。如果M为负,则左对齐;如果M为正,则右对齐。如果未指定M,则默认为零。
格式码:可选的格式化代码字符串。
格式符 |
含义 |
示例:(int i=10;double x=10.5;) |
结果 |
C |
将数字按照金额形式输出 |
Console.WriteLine("{0:C}",i); |
¥10.00 |
Console.WriteLine("{0:C}",x); |
¥10.50 |
||
D |
输出整数 |
Console.WriteLine("{0:D}",i); Console.writeline("{0:d5}",i); |
10 00010 |
F |
小数点后位数固定 |
Console.WriteLine("{0:F}",i); |
10.00 |
Console.WriteLine("{0:F4}",x); |
10.5000 |
占位符: 0占位符,如果位数不够则左边补零,位数超过的原样输出,小数的超出部分四舍五入
#占位符,对于整数部分去掉左边无效的0,对于小数部分按照四舍五入的原则处理后去掉右边无效的0
字符串操作方法:
1:生成字符串 直接声明就可以了,例如string str="http://www.cnblogs.com/liangshuai/";
2:比较字符串大小 比较两个字符串可以使用string.Compare(string strA,string strB)来比较,如果strA>strB结果为1,相等为 0,小于为-1。
Compare的重载方法string.Compare(string strA,string strB,bool ignoreCase)可以指定比较时是否区分大小写。
也可以使用string.Equals(string strA,string strB)来比较大小,当然也可以用==来比较
3:查找指字符串在字符串中出现的位置。首次出现的位置用indexof(string substr)来实现
最后一次出现的位置用LastIndexof(string substr)来查找。
4:在字符串的指定位置插入字符串。用Insert(int startindex,string str)来实现
5: