StringBuilder有什么作用?
具体说一下 最好别复制 用通俗的话说最好
------解决方案-------------------- 据说string类型属于不可变类型,字符串一旦创建,内容就不可改变,我们进行的字符串操作实际是产生了新的字符串实例,如果对其操作过多的话,回不知不觉中产生大量对象实例。
而StringBuilder提供了一个可变的字符串类型,可以用Append方法连接字符串,这样可以大幅度提高字符串的处理性能。
------解决方案--------------------这个网上一大堆的。
stringbuilder内部维护一个字符数组。下次追加的字符串,直接占用空余的位置。 如果超出上限。数组增大为原来的两倍(两倍还不够就直接增大到足够宽度),然后覆盖原来的数组。
string是每次都新创造对象。
不知道我说错没有。。。
这些可以看看《clr via c#》。或者《你必须知道的.net》都有提及到。
------解决方案-------------------- RUNBEAR回答完全正确
------解决方案--------------------就是用char数组来操作字符串的东西。
直接用string的话,在大型软件里面容易产生很多 1代 2代垃圾,回收慢,耗资源。stringbuilder不会这样。