我正在Powershell中处理哈希表,并尝试找出是否有办法显示Key1的内容(而不是值)。
我尝试了几种方法来使结果成为“星期一”,但是我得到了表的所有名称,空返回或错误消息。
这是我的桌子:
$Weekdays = @{Monday = 'Montag';Tuesday = 'Dienstag'}
如果可能的话,我只想将“星期一”作为输出,是否可以输入代码将“星期一”作为输出?
非常感谢您的帮助,
迈克
答案 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 中,键是索引。一定要记住把钥匙放在引号中。否则会失败。