“...如果连接固定数量的String对象,则String类更适合于连接操作。在这种情况下,单独的连接操作甚至可以组合成单个操作编译器。固定数量的.NET字符串连接
一个StringBuilder对象是最好的结合动作,如果字符串任意数量的被连接起来......”
http://msdn.microsoft.com/en-us/library/system.text.stringbuilder.aspx
件事,让我是不确定的话‘甚至可能是’在第一段。它不应该“肯定会”吗?因为如果没有将连接组合成一个操作,String的重复内存分配将使其与StringBuilder相比绝对劣势。
因此,是否使用变量或硬编码文字并不重要,对吗?只要连接在一行代码中,它们将被合并? –
@SValmont - one *表达*(不是一行),是的。请注意,如果*文字或常量*相邻,编译器将在构建时执行它(不是在运行时)。 –
接受6个参数的Concat()没有超载。 –