我不理解MSDN上的文档或文档不正确。
if($user_sam -ne "" -and $user_case -ne "")
{
write-host "Waaay! Both vars have values!"
}
else
{
write-host "One or both of the vars are empty!"
}
我希望你理解我试图输出的内容。我想填充$ user_sam和$ user_case以访问第一个语句!
答案 0 :(得分:85)
您可以将其简化为
if ($user_sam -and $user_case) {
...
}
因为空字符串强制转换为$false
(对此而言$null
也是如此)。
答案 1 :(得分:9)
另一种选择:
if( ![string]::IsNullOrEmpty($user_sam) -and ![string]::IsNullOrEmpty($user_case) )
{
...
}
答案 2 :(得分:5)
试试这样:
if($user_sam -ne $NULL -and $user_case -ne $NULL)
空变量为$null
,然后与“([string]::empty).
答案 3 :(得分:4)
您显示的代码将执行您想要的操作。 IFF这些属性在未填写时等于“”。如果它们在未填写时等于$ null,则它们将不等于“”。这里有一个例子来证明你所拥有的东西将用于“”:
$foo = 1
$bar = 1
$foo -eq 1 -and $bar -eq 1
True
$foo -eq 1 -and $bar -eq 2
False