String.IsNullOrEmpty判断字符串是否为null或空,但不包含空白字符;而String.IsNullOrWhiteSpace还会将仅含空白字符的字符串视为无效,推荐根据业务需求选择,多数场景建议使用后者以避免全空白输入被误认为有效。

在C#中判断字符串是否为空是一个常见的操作,常用的方法有两个:String.IsNullOrEmpty 和 String.IsNullOrWhiteSpace。它们都用于检查字符串是否为 null 或空,但在处理空白字符时有关键区别。
String.IsNullOrEmpty
这个方法用来判断一个字符串是否为 null 或者是空字符串("")。
- 如果字符串为 null,返回 true
- 如果字符串是 ""(长度为0),返回 true
- 如果字符串只包含空格、制表符或换行符等空白字符,返回 false
示例:
string str1 = null;
string str2 = "";
string str3 = " ";
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
示例:
string str1 = null;
string str2 = "";
string str3 = " ";
string str4 = " \t \n ";
Console.WriteLine(string.IsNullOrWhiteSpace(str1)); // 输出:True
Console.WriteLine(string.IsNullOrWhiteSpace(str2)); // 输出:True
Console.WriteLine(string.IsNullOrWhiteSpace(str3)); // 输出:True
Console.WriteLine(string.IsNullOrWhiteSpace(str4)); // 输出:True
使用建议
选择哪个方法取决于你的业务需求:
- 如果你认为"只有空格的字符串"也算有效输入,就用 IsNullOrEmpty
- 如果你希望把纯空格、制表符等视为无效数据,应使用 IsNullOrWhiteSpace
- 大多数实际场景中,推荐使用 IsNullOrWhiteSpace,避免用户输入“全空白”被误认为有效内容
基本上就这些,根据实际需要选合适的方法就行。
以上就是C#怎么判断字符串为空 C# String.IsNullOrEmpty和IsNullOrWhiteSpace的区别的详细内容,更多请关注php中文网其它相关文章!