可能重复:
Is String.Format as efficient as StringBuilder
C# String output: format or concat?
什么是性能优先级以及优先考虑以下各项的条件:
String.Format("{0}, {1}", city, state);
或
city + ", " + state;
或
StringBuilder sb = new StringBuilder();
sb.Append(city);
sb.Append(", ");
sb.Append(state);
sb.ToString();
答案 0 :(得分:18)
我个人几乎所有时间都使用String.Format,原因有两个:
例如,由于某些文化使用逗号作为小数点,因此您需要确保使用StringBuilder或String.Format指定CultureInfo.InvariantCulture,如果您想确保数字的格式符合您的意图。
还有两件事需要注意......
答案 1 :(得分:1)
没有相关的差异。但假设String.Format在内部使用StringBuilder(您可以使用Reflector工具看到),直接使用StringBuilder.Append应该更快。
编辑:当然使用“+”运算符是最糟糕的选项,因为它为你连接的每个字符串创建一个新的字符串实例。