如何检测PowerShell对象是否包含$null值并返回$true?
检测PowerShell哈希表中是否存在$null值
针对你提供的$tags哈希表,这里有几种实用的方法来检测其中是否包含$null值:
方法1:直接检查值集合
哈希表的Values属性包含所有值的集合,调用Contains($null)就能快速判断:
$tags.Values.Contains($null)
针对你的示例,这条命令会直接返回$true,因为Genre字段的值是$null。
方法2:管道筛选后判断结果
用Where-Object筛选出等于$null的项,再通过[bool]类型转换判断是否有匹配结果:
[bool]($tags.Values | Where-Object { $_ -eq $null })
方法3:使用LINQ的Any()方法
如果你的PowerShell版本是5.1及以上,可以借助LINQ的Any()方法实现更简洁的判断:
$tags.Values.Any({ $args[0] -eq $null })
以上三种方法都能实现需求:只要哈希表中存在任意$null值,就返回$true。
内容的提问来源于stack exchange,提问作者Chris Reeve
相关产品推荐
相关产品推荐

