在C#中,string.IsNullOrEmpty 和 string.IsNullOrWhiteSpace 是两个用于检查字符串的静态方法,但它们的用途和返回值有所不同。
1、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
2、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。