简单说的话:
string 是不可变的字符串.
StringBuilder是可变的字符串.
在频繁的字符串拼接时需要使用StringBuilder.
exp:
1.
string str="";
for(int i=0;i<1000;i++)
str += i.ToString();
2.StringBuilder sb = new StringBuilder(3000);//预先分配3000个字符,避免容量不足。
for(int i =0;i<1000;i++)
sb.append(i.ToString());
第一种共出现了:
""(由 s=""产生的程序集共享的string实例)
"0","1"..."999"(1000个由i.ToString()产生)
"0","01"..."0102...998999"(1000个由+=产生)
总共2001个实例
第二种共出现了:
"0","1"..."999"(1000个由i.ToString()产生)
一个sb实例
总共1001个字符实例
本文深入探讨了在编程中使用string和StringBuilder进行字符串拼接时的性能差异,通过实例展示了两种方法在不同场景下的表现,并分析了内存消耗和实例创建数量。
2812

被折叠的 条评论
为什么被折叠?



