在C#中,string.IsNullOrEmpty
和 string.IsNullOrWhiteSpace
是两个用于检查字符串的静态方法,但它们的用途和返回值有所不同。
-
string.IsNullOrEmpty:
这个方法用于检查一个字符串是否为null
或空字符串(即长度为0的字符串)。
-
如果字符串为
null
,返回true
。 -
如果字符串为空字符串(""),返回
true
。 -
如果字符串不是
null
且不为空字符串,返回false
。
示例:
string str1 = null;
string str2 = "";
string str3 = "Hello";
Console.WriteLine(string.IsNullOrEmpty(str1)); // 输出: True
Console.WriteLine(string.IsNullOrEmpty(str2)); // 输出: True
Console.WriteLine(string.IsNullOrEmpty(str3)); // 输出: False
-
string.IsNullOrWhiteSpace:
这个方法用于检查一个字符串是否为null
、空字符串或仅包含空白字符(如空格、制表符、换行符等)。
-
如果字符串为
null
,返回true
。 -
如果字符串为空字符串(""),返回
true
。 -
如果字符串仅包含空白字符,返回
true
。 -
如果字符串不是
null
、不是空字符串且不包含空白字符,返回false
。
示例:
string str1 = null;
string str2 = "";
string str3 = "Hello";
string str4 = " "; // 仅包含空格
Console.WriteLine(string.IsNullOrWhiteSpace(str1)); // 输出: True
Console.WriteLine(string.IsNullOrWhiteSpace(str2)); // 输出: True
Console.WriteLine(string.IsNullOrWhiteSpace(str3)); // 输出: False
Console.WriteLine(string.IsNullOrWhiteSpace(str4)); // 输出: True
总结:
-
如果你只关心字符串是否为
null
或空字符串,使用string.IsNullOrEmpty
。 -
如果你还关心字符串是否仅包含空白字符,使用
string.IsNullOrWhiteSpace
。