经常看到各种参考材料说,串联字符串的时候用StringBuilder效率最高。
但大多数时候举例都是用一个循环反复附加上万次得到一个字符串结果,对于一个少于10次累加的串联操作来说会怎样呢?
经过实验(过程略)得知:
1 对于少数量字符串的串联来说,直接用+操作符要比用StringBuilder效率高得多(推测是每次使用StringBuilder需要额外的开销);对于已知数量的字符串串联来说String.Concat比StringBuilder效率略高一点。
2 无论使用StringBuilder还是String.Concat,附加字符串以外的值到字符串上都要比直接附加字符串的运算量高出大约100倍。
3 对于未知数量(并且通常是大量)的字符串串联来说,StringBuilder效率最高。
- http://shinron4.blog126.fc2.com/tb.php/37-bd7e10ca
引用
发表留言