使用+=
运算符的多种语言的串联创建了一个新的字符串实例。我们优先使用我们最后加入的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[]
更有效?
答案 0 :(得分:1)
在C#中,+ =运算符是否会创建新字符串?
String
在C#和Java中是不可变的。这意味着你无法修改它。每个修改字符串的方法(+=
也执行一个方法)都会返回string
的新实例。
在StringBuilder
上使用.Join()
提高效率string[]
StringBuilder
上使用.Join
相比, string[]
更高效(每次调用一些纳秒)。
所以它确实使得" sence"当你经常在循环中做这件事时。