首页/系统/Windows 运维速查/空值判断与安全比较
PowerShell 基础66 条

空值判断与安全比较

PowerShell 空值语义细节多:$null 比较要放左侧、空数组与空字符串不同、集合判空与属性缺失的区分。

Windows 运维速查系统更新于 2026-10-12
要点规范写法 $null -eq $x($null 在左侧)
区分空字符串 '' 与 $null 不同;空数组在布尔上下文为假

常用示例

常用示例
if ($null -eq $v) { '为空' }
[string]::IsNullOrWhiteSpace($s)
if ($x -ne $null -and $x.Count -gt 0) { '非空' }
@().Count
判断字符串是否为空或空白用 [string]::IsNullOrWhiteSpace;集合判空用 .Count。

易错点

  • 把 $null 写在右侧($x -eq $null)在数组场景会得到意外结果,规范是 $null 放左侧
  • 属性本身不存在与属性为空是两回事,取值前先确认对象有该属性

数据来源与参考

  • Microsoft Learn:about_Comparison_Operators
  • Microsoft Learn:about_Arrays

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌