字符串连接:+= 运算符与连接的字符串数组

String concatenation : += operator versus string array joined

许多语言中的串联使用 += 运算符创建一个新的字符串实例。最好使用我们最后加入的string[]

在Javascript中:

var myString = new Array("Hello");
myString.push(" ");
myString.push("world !");
console.log(myString.join(''));

比 :

更有效
var myString = "Hello";
myString += " ";
myString += "world !";
console.log(myString);

在 C# 中,+= 运算符是否创建新字符串? StringBuilder 是否比使用 string[] 更有效?

在 C# 中,+= 运算符是否创建新字符串?

String 在 C# 和 Java 中是不可变的。这意味着你不能修改它。每个修改字符串的方法(+= 也执行一个方法)returns string.

的新实例

StringBuilder 是否比在 string[] 上使用 .Join() 更有效?

StringBuilder 比在 string[] 上使用 .Join 性能更高(每次调用几纳秒)。 所以当你经常在循环或其他事情中这样做时,它确实会 "sence"。