powershell中空数组和null的比较

Pra*_*kar 2 powershell

码:

$arr=@() 
if($arr -ne $null){"NE"} else{"E"} 
if($null -ne $arr){"NE"} else{"E"} 
Run Code Online (Sandbox Code Playgroud)

输出:

E
NE 
Run Code Online (Sandbox Code Playgroud)

这怎么可能 ?

wOx*_*xOm 5

第一个if比较数组的每个元素$null并生成一个非null元素的集合,在您的情况下为空,因此它是false并else显示 E.

第二个if比较单个对象$null与另一个对象$arr,因为$ arr本身不是$null(作为存储空集合的对象),它会显示NE.