我也想谈谈 String类和 StringBuilder类

.NET除了有我们一直常用的String类之外,还提供了一个新的字符型数据类型,那就是StringBuilder类,在MSDN上是这样介绍StringBuilder的:
String 对象是不可改变的。每次使用 System.String 类中的方法之一时,都要在内存中创建一个新的字符串对象,这就需要为该新对象分配新的空间。在需要对字符串执行重复修改的情况下,与创建新的 String 对象相关的系统开销可能会非常昂贵。如果要修改字符串而不创建新的对象,则可以使用 System.Text.StringBuilder 类。例如,当在一个循环中将许多字符串连接在一起时,使用 StringBuilder 类可以提升性能。


通过MSDN中的介绍,StringBuilder是起着节约资源的作用,如果我们要对一个字符串,经常要扩充,或不知道他将会有多长的容量空间来存放某一个字符串,我想StringBuilder是可以比较好的胜任的。

StringBuilder和String比较而言,StringBuilder具有String所有能实现的属性和方法,并且StringBuilder比String还多了很多功能。

String具有很好的插入、删除、替换功能,StringBuilder同样也具有。虽然StringBuilder是可以完全取代String的,但是,可能是大家习惯性的原因吧,用惯了String类,对又长又不是很熟悉的StringBuilder类使用的人还是很少。

在这里也列举几行关于StringBuilder的代码:

StringBuilder StrB = new StringBuilder("第一个字符串!");
StrB.Append(
"加到字符串后面的");
MessageBox.Show(StrB);
//显示为: 第一个字符串!加到字符串后面的
同样的,StringBuilder类的构造函数也被多次重载,它可以为其值设置最大容量,例如:
StringBuilder StrB = new StringBuilder("可以设置最大容量为80", 80);  

另外,还可以使用它的 Capacity 属性来设置对象的最大长度。

例如:StrB.Capacity=90;

StringBuilder还可以这样:
StringBuilder Str=new StringBuilder();
Str.ApppendFormat("{0}美女,我是暗恋你的{1}","小英","远远");
Str的结果是: 小英美女,我是暗恋你的远远

StringBuilder类还有常用的Insert、Remove、Replace等方法,为大家提供对字符串的灵活操作。

我想StringBuilder或许还有更多比String的优秀之处,我还没有发现,希望有朋友能给我留言,一起交流,一起进步。

期待大家在下面留言...
原文地址:https://www.cnblogs.com/lixyvip/p/979464.html