博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

C#中String类的相关操作

Posted on 2011-10-24 17:53  凌风孤鸿  阅读(1547)  评论(0编辑  收藏  举报

任何一种编程语言中字符串的处理都是比较重要的,而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: