StringBuilder和String的区别

String在进行运算时(如赋值、拼接等)会产生一个新的实例,而StringBuilder不会,所以在大量字符串拼接或频繁对某一个字符串进行操作时最好使用StringBuilder不要使用String

如果要操作一个不断增长的字符串,尽量不用String类,改用StringBuilder类,两个类的工作原理不同:String类是一种传统的修改字符串的方式,它确实可以完成把一个字符串添加到另一个字符串上的工作没错,但在.NET框架下,这个操作是在不划算,因为系统先是把两个字符串写入内存,接着删除原来的String对象,然后创建一个String对象,并读取内存中的数据赋给该对象,这样一来,就消耗了大量的时间,而使用System.Text命名空间下面的StringBuilder类就不是这样了,它提供的Append方法,能够在已有对象的原地进行字符串修改,简单而且直接,当然,一般情况下察觉不到这二者效率的差异,但如果你要对某个字符串进行大量的添加操作,那么StringBuilder类所耗费的时间和string类就不是一个级别的了。

猜你喜欢

转载自blog.csdn.net/wmj20001225/article/details/104227294