2010-08-20 58 views

回答

7

編譯完成後兩者完全相同。我發現string.Empty更具可讀性。對於我們所知的""真的應該有一些東西,它只是一個錯字。

+1

此外,當您確實需要空字符串「」時,很難發現類似「'」的錯字。 – Guffa 2010-08-20 20:58:54

1

一旦編譯器完成該代碼,兩個片段的IL /機器代碼將是相同的。如果空字符串是算法的重要組成部分,我傾向於使用string.Empty。我傾向於使用""作爲任何值,但現在它恰好是空字符串。換句話說,使用傳達表達意圖的那個。

3

根據this MSDN blog poststring.Empty更有效,因爲它不會產生新的對象。

Here是一些更多的信息,包括一個簡短的性能比較。

+0

是的,但它是.NET 2.0之前的版本:http://stackoverflow.com/questions/151472/what-is-the-difference-between-string-empty-and ;-) – 2010-08-20 20:50:48

+0

博客帖子不正確。字符串文字僅在裝入程序集時創建一次(就像String.Empty屬性的字符串對象一樣),執行使用字符串字符串的代碼不會創建對象。 – Guffa 2010-08-20 20:53:40