提问人:Darren 提问时间:11/14/2023 更新时间:11/14/2023 访问量:50
一次检查 2 个变量是否为 null 或空的简单方法
simple way to check 2 variables at once for null or empty
问:
寻找一种简单的方法(最好是一行代码)来检查 2 个变量中的任何一个是否为空,如下所示,但是,这不起作用......
if ([string]::isnullorempty(var1,var2)) {"empty"} else {"not empty"}
答:
0赞
Walter Mitty
11/14/2023
#1
not 运算符会将字符串转换为布尔值。试试这个:
if (!$var1 -or !$var2) {"empty"} else {"not empty"}
我认为如果 $var 1 为 null 或空,!$var 1 将返回 $true。
评论
2赞
mclayton
11/14/2023
为了匹配原始语义的确切语义,您可能需要,因为在极端情况下,布尔值和 -> 但 -> 。虽然我猜在 OP 的上下文中它不太可能是一个实际问题:-)...if (!([string]$var1) -or !([string]$var2)) {"empty"} else {"not empty"}
$var1
$false
!$false
$true
!([string]$false)
$false
评论
if( [string]::IsNullOrEmpty($var1) -or [string]::IsNullOrEmpty($var2) ) ...
if ('' -in [String[]]($var1, $var2)) { 'IsNullOrEmpty' }