string与stringbuilder的区别
string a = "aaa"
当你改变a,比如a="bbbb"的时候,会创建另外一个string对象,原来的对象还保留!
而StringBuilder对象值改变则不会另外创建一个变量!
当对字串本身进行操作时,stringbuilder性能要优于string,内存使用要少于string.
如:
string a = "abcdefg";
a = a.replace("e", "c");
和
stringbuilder a = "abcdefg";
a.replace("e", "c");
当字符串是固定的时候用string,当字符串需要变动时用StringBuilder
以下from MSDN
String 对象是不可改变的。每次使用 System.String 类中的方法之一时,都要在内存中创建一个新的字符串对象,这就需要为该新对象分配新的空间。在需要对字符串执行重复修改的情况下,与创建新的 String 对象相关的系统开销可能会非常昂贵。如果要修改字符串而不创建新的对象,则可以使用

浙公网安备 33010602011771号