简单说的话:
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个字符实例