PowerShell Hashtable显示第一个键

时间:2019-08-21 15:00:25

标签: powershell hashtable

我正在Powershell中处理哈希表,并尝试找出是否有办法显示Key1的内容(而不是值)。

我尝试了几种方法来使结果成为“星期一”,但是我得到了表的所有名称,空返回或错误消息。

这是我的桌子

$Weekdays = @{Monday = 'Montag';Tuesday = 'Dienstag'}

如果可能的话,我只想将“星期一”作为输出,是否可以输入代码将“星期一”作为输出?

非常感谢您的帮助,

迈克

2 个答案:

答案 0 :(得分:1)

您可以访问哈希表中的Key / ValueCollection:

$Weekdays = @{Monday = 'Montag';Tuesday = 'Dienstag'}    
echo $($Weekdays.Keys)[0]
echo $($Weekdays.Values)[1]

将返回

Monday
Dienstag

在$()中包含对“键”的调用将导致Collection转换为对象数组,如您在此处看到的那样:

$Weekdays = @{Monday = 'Montag';Tuesday = 'Dienstag'}
$Weekdays.Keys.Gettype()
$($Weekdays.Keys).Gettype()

给出

IsPublic IsSerial Name                                     BaseType                                                                                                                     
-------- -------- ----                                     --------                                                                                                                     
False    True     KeyCollection                            System.Object                                                                                                                
True     True     Object[]                                 System.Array  

对象数组可以用整数索引。

答案 1 :(得分:0)

$Weekdays = @{Monday = 'Montag';Tuesday = 'Dienstag'}

$Weekdays["Monday"] 将打印出 Montag。它就像带有索引的 Arr。在 Hashtable/Dictionary 中,键是索引。一定要记住把钥匙放在引号中。否则会失败。