如何用单行代码同时检查两个变量是否为Null或空字符串?
解决方法
你的代码无法运行是因为**[string]::IsNullOrEmpty()**只接受单个字符串参数,不能同时传入两个变量。以下是几种简洁的单行实现方式:
最直接的写法,用
-or连接两个独立检查:if ([string]::IsNullOrEmpty($var1) -or [string]::IsNullOrEmpty($var2)) { "empty" } else { "not empty" }若需要同时检查空白字符(比如空格、制表符),可以改用 [string]::IsNullOrWhiteSpace():
if ([string]::IsNullOrWhiteSpace($var1) -or [string]::IsNullOrWhiteSpace($var2)) { "empty" } else { "not empty" }更简洁的数组批量检查写法:
if (@($var1, $var2) | Where-Object { [string]::IsNullOrEmpty($_) }) { "empty" } else { "not empty" }或者用PowerShell别名简化:
if (@($var1,$var2) | ? { [string]::IsNullOrEmpty($_) }) { "empty" } else { "not empty" }
内容的提问来源于stack exchange,提问作者Darren
相关产品推荐
相关产品推荐

