我的代码如下,我有一个简单的哈希表,希望过滤掉value=false
个结果:
PS D:\> $h=@{item1="$false";item2="$true"}
PS D:\> $h
Name Value
---- -----
item1 False
item2 True
PS D:> $h|?{$_.Value -eq "$false"}
没有输出。为什么?我的语法是否正确?
答案 0 :(得分:4)
如果要过滤这样的散列表,则需要一个枚举器:
$h.GetEnumerator() | ? { $_.Value -eq $false }
另外,如果要过滤掉值为$false
的记录,则需要反转条件:
$h.GetEnumerator() | ? { $_.Value -ne $false }
否则过滤器会选择值为$false
的项目。