判斷字元串為空有好幾種方法:
方法一: 代碼如下:
static void Main(string[] args) { string str = ""; if (str == "") { Console.WriteLine("a is empty"); ; } Console.ReadKey(); }
運作結果:a is empty
這樣針對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(); }
運作結果如下:
方法三 :但是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(); }
運作結果: