在C#中,可以串联几种不同的方式串:什么时候应该使用String.Format或String.Concat而不是连接运算符?
使用连接符:
var newString = "The answer is '" + value + "'.";
使用String.Format
:
var newString = String.Format("The answer is '{0}'.", value);
使用String.Concat
:
var newString = String.Concat("The answer is '", value, "'.");
每种方法的优缺点是什么?我应该什么时候比其他人更喜欢?
由于开发人员之间的争论,问题出现了。一个从来没有使用String.Format
进行连接 - 他认为这是为了格式化字符串,而不是用于连接,并且总是不可读的,因为字符串中的项目以错误的顺序表示。另一个经常使用String.Format
进行连接,因为他认为它使代码更易于阅读,特别是涉及多组引号的情况下。这两个开发人员也都使用串联运算符和String.Builder。
+1来抵消不当的downvote。 – LukeH 2011-01-12 11:56:09
是的,很好的链接+1。 – StuartLC 2011-01-12 11:57:21
使用字符串连接通常会在内存中产生大量小对象,这可能会影响垃圾收集性能。通过链路测试来衡量这种影响非常困难,但对于性能要求较高的大型系统来说,这可能是一个非常大的性能问题。 – 2011-01-12 11:57:42