「...如果連接固定數量的String對象,則String類更適合於連接操作。在這種情況下,單獨的連接操作甚至可以組合成單個操作編譯器。固定數量的.NET字符串連接
一個StringBuilder對象是最好的結合動作,如果字符串任意數量的被連接起來......」
http://msdn.microsoft.com/en-us/library/system.text.stringbuilder.aspx
件事,讓我是不確定的話‘甚至可能是’在第一段。它不應該「肯定會」嗎?因爲如果沒有將連接組合成一個操作,String的重複內存分配將使其與StringBuilder相比絕對劣勢。
因此,是否使用變量或硬編碼文字並不重要,對嗎?只要連接在一行代碼中,它們將被合併? –
@SValmont - one *表達*(不是一行),是的。請注意,如果*文字或常量*相鄰,編譯器將在構建時執行它(不是在運行時)。 –
接受6個參數的Concat()沒有超載。 –