首页 新闻 会员 周边

String 和 StringBuild的区别

0
[已解决问题] 解决于 2010-08-31 12:07

String 和 StringBuild的区别是什么啊!!!

我在网上查了查,说是System.String是不可变的字符串。System.StringBuilder存放了一个可变的字符串,并提供一些对这个字符串修改的方法。 但我比较了两个类,他们都可以修改啊,String类中也有

Insert() 、Remove()等方法,那怎么说String是不可变的字符串啊???

请各位指点!!!

小虾用户的主页 小虾用户 | 初学一级 | 园豆:200
提问于:2010-08-31 12:01
< >
分享
最佳答案
0

简单地说 :

StringBuilder 是生产 String 的。

String类中 Insert() 、Remove()等方法 操作的结果都是产生一个新的字符串。原来的字符串不发生变化。

StringBuilder 内部维护一个char 数组,StringBuilder类都是在 数组上面进行操作。不会生成多个String ,StringBuilder 类型 通过 .ToString() 来“生成”字符串(实际上是返回数组的地址)。

HUHU慈悲 | 大侠五级 |园豆:9973 | 2010-08-31 12:05
其他回答(1)
0

参考:http://www.cnblogs.com/ljhong/archive/2008/09/25/1298779.html

不可变的是在内存中又创建了一个你拼接的字符串。对于拼接次数很多的操作,性能上string是不能和stringbuilder比的。

Astar | 园豆:40805 (高人七级) | 2010-08-31 12:07
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册