给定一个哈希表(或字典),例如:
$HashTable = @{ 'One' = 1; 'Two' = 2; 'Three' = 3 }
(默认情况下不区分大小写,但对于我的情况,不必在每种情况下都如此。)
很容易获得特定项目的相关值:
$HashTable['two'] # Or: $HashTable.get_item('two')
2
但是是否也可以取回实际密钥(特定项目的),例如:
$HashTable.get_Key('two')
哪个会返回
Two
(大写 T
)而不是错误或小写的 two
?
我不知道有一种高效的方法来获取原始密钥,但以下是一种简洁的方法(以牺牲性能为代价,
'First'
可以省略),使用内在的.Where()
方法:
@{
'One' = 1
'Two' = 2
'Three' = 3
}.Keys.Where({ $_ -eq 'two' }, 'First')[0] # -> 'Two'