【发布时间】:2017-01-19 16:36:06
【问题描述】:
使用 string.concat 或 string builder 更好吗?谁能解释一下我应该在什么情况下使用这两个?
有一个问题here,解释了性能,我想了解在哪里使用 string.concat 以及在哪里避免它?
提前致谢。
【问题讨论】:
-
String.Concat使用StringBuilder,所以它们大致相等 -
如果您在循环中连接或对 Concat() 进行大量单独调用,请使用
StringBuilder,否则您可以使用String.Concat() -
如果您已经拥有所有想要合并的值(在
List<String>或String[]或其他类型的IEnumerable<string>中)使用String.Concat。如果您需要确定要附加的字符串(例如,在带有附加逻辑的循环中),请使用您自己的StringBuilder。否则,您将在Concat中创建许多不必要的StringBuilder-instances。 -
您提供的链接不是已经有答案了吗? stackoverflow.com/a/1612835/3956100