空值
$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:\>