StringBuilder.Append用于字符串数组
本文关键字:数组 字符串 用于 Append StringBuilder | 更新日期: 2023-09-27 18:28:56
假设我有一个StringBuilder
对象
var sb = new StringBuilder();
和字符串的数组
var s = new []{"a","b","c"};
这是将它们插入stringbuilder
实例的"最快"方法吗?
sb.Append(string.join(string.empty, s));
还是StringBuilder
有一个我忽略了的功能?
编辑:对不起,我不知道sb
将包含多少项,也不知道每个String[]中可能包含多少项。
如果你的意思是"最快"的性能比更好的使用:
for(int i = 0; i < myArrayLen; i++)
sb.Append(myArray[i]);
string.Concat(...)
应该比string.Join("", ...)
快。此外,这取决于您对StringBuilder
的其他操作。如果你只执行一些串联,那么不使用它会更快。
更多的上下文总是有帮助的!
这篇文章很好地讨论了这个问题。
要在没有循环的情况下在一行中完成此操作,可以执行以下操作:
sb.Append(String.Join(Environment.NewLine, s));
也适用于任何类型的
IEnumerable<string>
我相信你已经有了正确的答案:
sb.Append(string.join(string.empty, s))