String类与StringBuilder类有什么区别?为什么在.Net类库中要同时存在这2个类?

String类与StringBuilder类有什么区别?为什么在.Net类库中要同时存在这2个类?... String类与StringBuilder类有什么区别?为什么在.Net类库中要同时存在这2个类? 展开
 我来答
Jacke_159
2012-07-28 · TA获得超过196个赞
知道小有建树答主
回答量:128
采纳率:100%
帮助的人:107万
展开全部
  String是一个Unicode字符的有序集合,用于表示文本。一个字符串对象的有序集合系统.。字符对象代表一个字符串。字符串的值对象的内容是有序集合,这个价值是不可变的。  一个字符串对象称为不变的(只读),因为它的价值不能修改一旦建立。方法,似乎修改一个字符串对象实际上会返回一个新字符串对象,其中包含修改;

StringBuilder这个类代表一个可变的字符序列。据说这个值是可变的,因为它可以修改一旦建立通过添加,删除,替换,或者插入字符。相比之下,看到String类。  大部分的方法,这些方法可以修改这个类的实例返回一个引用相同的实例。因为一个引用返回的实例,可以调用一个方法或属性引用。这可以方便,如果你想写一个声明,一个接一个链连续操作。  一个StringBuilder的能力的最大字符数的实例可以存储在任何给定的时间,和大于或等于字符串的长度表示值的实例;

如果有必要修改实际内容的一个线状对象,使用StringBuilder类。 
康芝宇qm
2012-07-29 · TA获得超过121个赞
知道答主
回答量:165
采纳率:100%
帮助的人:60.9万
展开全部
StringBuilder可以随意更改字符串的长度,String会初始一个长度,但是更改会再次重新分配内存空间,性能损耗很大。对于需要频繁变动字符串长读的变量最好定义为StringBuilder。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2012-07-28
展开全部
string类的变量是存在于字符串连接池中的,做插入,替换等动态修改时会比较占用内存,所以需要对字符串做动态修改时建议使用stringBuilder类
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友e1e0216
2012-07-28
知道答主
回答量:18
采纳率:0%
帮助的人:3.3万
展开全部
string类实例相当于一个常量,如果要改变它,实际上是新生成了一个实例,有新的存储空间。
StringBuilder类的存储空间的是动态扩展的,对其实例上做增删改,并不会重新分配存储空间。

如果操作的字符串,需要经常改变,而且长度较大,建议用StringBuilder,从而节省短时期的内存。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
跳跳花花
2012-08-02
知道答主
回答量:19
采纳率:0%
帮助的人:5.5万
展开全部
受教
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式