代码:
$arr=@()
if($arr -ne $null){"NE"} else{"E"}
if($null -ne $arr){"NE"} else{"E"}
输出:
E
NE
这怎么可能?
第一个if
将数组的每个元素与$null
进行比较,并生成非空元素的集合,在您的情况下,这些元素为空,因此它是假的,else
显示E
。
第二个if
将$null
的单个对象与$arr
的另一个对象进行比较,并且由于$arr本身不是$null
(作为在其中存储空集合的对象(,因此它显示NE
。