本文就它們彼此的不同之處做一粗略說明。
string.Empty就相當於"" 一般用於字符串的初始化
比如:
string a;
Console.WriteLine(a);//這裡會報錯,因為沒有初始化a
而下面不會報錯:
string a=string.Empty;
Console.WriteLine(a);
或者用於比較:
if(a=="")
if(a==string.Empty)
上面兩句是一樣的效果。
string.Empty不分配存儲空間
""分配一個長度為空的存儲空間
所以一般用string.Empty
為了以後跨平台,還是用string.empty
在 C# 中,大多數情況下 "" 和 string.Empty 可以互換使用。比如:
復制代碼 代碼如下:
string s = "";
string s2 = string.Empty;
if (s == string.Empty) {
//
}
if語句成立
String.Empty和Null,這兩個都是表示空字符串,string str1= String.Empty,這樣定義後,str1是一個空字符串,空字符串是一個特殊的字符串,只不過這個字符串的值為空,在內存中是有准確的指向的,string str2=null,這樣定義後,只是定義了一個string 類的引用,str2並沒有指向任何地方,在使用前如果不實例化的話,都將報錯。textBox1.Text的值為零長度字符串 ""。
判定為空字符串的幾種寫法,按照性能從高到低的順序是:
s.Length == 0 優於 s == string.Empty 優於 s == ""
判斷字符串是否為空最好的方法就是 s.Length==0 !