Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Powershell 是否可以获取类似于无键数组的哈希表值?_Powershell - Fatal编程技术网

Powershell 是否可以获取类似于无键数组的哈希表值?

Powershell 是否可以获取类似于无键数组的哈希表值?,powershell,Powershell,如果我有一个这样的哈希表 $theHash = @{"dog"="mean"; "cat"="nice";"bird"="annoying"} 如果我有一个数组,我通常可以执行类似$theHash[0]的操作来获取dog或mean。哈希表也可以获取特定值,还是需要密钥 我想遍历一个哈希表值列表,并根据某些键获取键和值 钥匙的关键是通过钥匙访问它 您可以使用$hash.values获得一个值数组。由此,您可以像使用Where Object等任何其他数组一样进行过滤 如果要基于某些键或值获取键和值

如果我有一个这样的哈希表

$theHash = @{"dog"="mean"; "cat"="nice";"bird"="annoying"}
如果我有一个数组,我通常可以执行类似$theHash[0]的操作来获取dog或mean。哈希表也可以获取特定值,还是需要密钥


我想遍历一个哈希表值列表,并根据某些键获取键和值

钥匙的关键是通过钥匙访问它

您可以使用
$hash.values
获得一个值数组。由此,您可以像使用
Where Object
等任何其他数组一样进行过滤

如果要基于某些键或值获取键和值,请执行以下操作:

foreach($pair in $hash.GetEnumerator()) {
    $pair.Name
    $pair.Value
}

因此,在循环中,你可以使用and
if
switch
或任何你想保留的条件。

如果你输入了密钥,你不是已经有了密钥吗?我不明白这个问题。哈希表的要点是,您可以使用键快速检索项。如果你想要一个数组,那么就使用一个数组。但是一个数组你必须提前设置值。我刚读到哈希表更适合使用。那么$theHash.values将其转换为数组?不可能。。太棒了。它会自动给它赋值吗?所以它就像一个三维数组。。。喜欢=。。。0 | dog | mean?看起来这些值只会去掉值。。很明显,从名字上看,我应该考虑一下。不管怎样,要把它组合成上面提到的三维空间吗?@simon不确定你所说的三维空间是什么意思。是否可以将其显示为希望访问单个元素?