PowerShell 技能连载 - 检查变量是否为 $NULL
如果您想检查一个变量是否为 $Null
(空),请记住始终将 $null
放在比较运算符的左边。大多数情况下,顺序不重要:
1 | PS C:\> $a = $null |
然而,如果一个变量为一个数组,则将数组放在对比操作符左边的行为类似过滤器。这时候顺序变得很关键:
1 | # this all produces inconsistent and fishy results |
如果您将变量放在左侧,PowerShell 将检测数组内部的 $null
值,并且返回这些值。如果没有 $null
值,则返回 $null
。
如果您将变量放在右侧,PowerShell 将检查变量是否为 $null
。
1 | # by reversing the operands, all is FINE: |
可以将 $null
放在比较运算符的左侧而不是右侧,来消除这个问题。
PowerShell 技能连载 - 检查变量是否为 $NULL