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