空值
$null
用于表示缺少或未定义的值。
$null
可以用作数组中空值的空占位符:
PS C:\> $array = 1, "string", $null
PS C:\> $array.Count
3
当我们使用相同的数组作为 ForEach-Object
的源时,它将处理所有三个项目(包括$ null):
PS C:\> $array | ForEach-Object {"Hello"}
Hello
Hello
Hello
小心! 这意味着 ForEach-Object
将自行处理 $null
:
PS C:\> $null | ForEach-Object {"Hello"} # THIS WILL DO ONE ITERATION !!!
Hello
如果将它与经典的 foreach
循环比较,这是非常意外的结果:
PS C:\> foreach($i in $null) {"Hello"} # THIS WILL DO NO ITERATION
PS C:\>