C#判断字符串是否为空的方法
作者:归人云淡风轻
时间:2025-12-27
浏览:0
应使用String.IsNullOrEmpty()判断字符串是否为null或空字符串,因其内部已处理null安全;而==""或.Length==0在null时会抛NullReferenceException;注意它不识别纯空白字符串,需用IsNullOrWhiteSpace()。
应使用 String.IsNullOrEmpty() 判断字符串是否为 null 或空字符串,因其内部已处理 null 安全;而 == "" 或 .Length == 0 在 null 时会抛 NullReferenceException;注意它不识别纯空白字符串,需用 IsNullOrWhiteSpace()。

直接用 String.IsNullOrEmpty() 就行,它专门用来判断字符串是否为 null 或空字符串("")。 这是最常用、最安全的方式,不用自己写一堆条件判断。
为什么不能只用 == "" 或 .Length == 0?
因为如果字符串是 null,调用 .Length 或 .Equals("") 会直接抛出 NullReferenceException。而 IsNullOrEmpty 内部已做 null 检查,不会崩。
基本用法:一行搞定
语法很简单:
string str = null;if (string.IsNullOrEmpty(str)) { /* 是空或null */ }
常见写法包括:
if (string.IsNullOrEmpty(input)) throw new ArgumentException("输入不能为空");var result = string.IsNullOrEmpty(name) ? "未知" : name;if (!string.IsNullOrEmpty(text)) Process(text);(先取反,处理非空情况)
注意:它不判断“空白字符串”(比如只有空格)
IsNullOrEmpty(" ") 返回 true 吗?不,返回 false。因为 " " 是非空字符串(长度 > 0),只是内容全是空白。
如果想连空白也过滤掉,用 string.IsNullOrWhiteSpace():
string.IsNullOrWhiteSpace(null)→truestring.IsNullOrWhiteSpace("")→truestring.IsNullOrWhiteSpace(" \t\n ")→true
扩展小提示:C# 6.0+ 可用空合并运算符简化赋值
比如给空值设默认值:
string displayName = userName ?? "游客";// 等价于:string displayName = string.IsNullOrEmpty(userName) ? "游客" : userName;
基本上就这些。用对方法,代码更稳也更干净。
作者最新文章
荣耀MagicOS 11发布计划与Agent Harness架构解析
2026-09-08 19:23
AI重构企业业务架构:超聚变“智企”范式核心解析
2026-09-08 18:39
PDF合并工具怎么选?在线合并5步实操指南
2026-09-04 17:05
PDF图片压缩工具推荐与批量处理实操指南
2026-09-03 12:14
照片如何转成PDF格式?三种图片转PDF操作方法
2026-09-03 11:04
热门文章
更多
精品专题
更多
Mac软件
更多
WINDOWS
更多


































