在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