StringBuilder和 String的区别?

String在进行运算时(如赋值、拼接等)会产生一个新的实例,而 StringBuilder则不会。所以在大

量字符串拼接或频繁对某一字符串进行操作时最好使用 StringBuilder,不要使用 String。

如果要操作一个不断增长的字符串,尽量不用 String类,改用 StringBuilder类。两个类的工作原理不

同:String类是一种传统的修改字符串的方式,它确实可以完成把一个字符串添加到另一个字符串上的工作没错,但是在.NET框架下,这个操作实在是划不来。因为系统先是把两个字符串写入内存,接着删除原

来的 String对象,然后创建一个 String对象,并读取内存中的数据赋给该对象。这一来二去的,耗了不少

时间。而使用 System.Text命名空间下面的 StringBuilder类就不是这样了,它提供的 Append方法,能够

在已有对象的原地进行字符串的修改,简单而且直接。当然,一般情况下觉察不到这二者效率的差异,但

如果你要对某个字符串进行大量的添加操作,那么 StringBuilder类所耗费的时间和 String类简直不是一个

数量级的。

原文地址:https://www.cnblogs.com/pikaqui/p/13286933.html