asp.net

C#中IsNullOrEmpty和IsNullOrWhiteSpace的区别

2024-08-21

在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。