天天看點

C# 為什麼高手都是用IsOrWhiteSpace對字元串判空?

判斷字元串為空有好幾種方法:

方法一: 代碼如下:

static void Main(string[] args)              {              string str = "";                  if (str == "")              {              Console.WriteLine("a is empty"); ;              }                  Console.ReadKey();              }           

運作結果:a is empty

C# 為什麼高手都是用IsOrWhiteSpace對字元串判空?

這樣針對str = ""也是可以的,但是大多數場景是在方法的 入口處判空,這個字元串有可能是,也有可能是" ",甚至是"\n",上面這種判空方法顯示不能覆寫這麼多場景;

方法二 :這時候IsOrEmpty就橫空出世了,針對字元串值為string.Empty、str2 = ""、,都可以用

static void Main(string[] args)              {              string str1 = string.Empty;                  if (string.IsOrEmpty(str1))              {              Console.WriteLine("str1 is empty"); ;              }                  string str2 = "";                  if (string.IsOrEmpty(str2))              {              Console.WriteLine("str2 is empty"); ;              }                  string str3 = ;                  if (string.IsOrEmpty(str3))              {              Console.WriteLine("str3 is empty"); ;              }                  Console.ReadKey();              }           

運作結果如下:

C# 為什麼高手都是用IsOrWhiteSpace對字元串判空?

方法三 :但是IsOrEmpty在字元串為" ","\n","\t",時候就無能為力了,為了覆寫這些場景,高手們一般判空使用方法IsOrWhiteSpace

static void Main(string[] args)              {              string str1 = string.Empty;                  if (string.IsOrWhiteSpace(str1))              {              Console.WriteLine("str1 is empty"); ;              }                  string str2 = "";                  if (string.IsOrWhiteSpace(str2))              {              Console.WriteLine("str2 is empty"); ;              }                  string str3 = ;                  if (string.IsOrWhiteSpace(str3))              {              Console.WriteLine("str3 is empty"); ;              }                  string str4 = " ";                  if (string.IsOrWhiteSpace(str4))              {              Console.WriteLine("str4 is empty"); ;              }                  string str5 = "\n";                  if (string.IsOrWhiteSpace(str5))              {              Console.WriteLine("str5 is empty"); ;              }                  string str6 = "\t";                  if (string.IsOrWhiteSpace(str6))              {              Console.WriteLine("str6 is empty"); ;              }              Console.ReadKey();              }           

運作結果:

C# 為什麼高手都是用IsOrWhiteSpace對字元串判空?

繼續閱讀