PowerShell Hashtable 显示第一个键

PowerShell Hashtable show first key

我正在 powershell 中使用 hashtables 并试图弄清楚,如果有办法,显示 Key1 的内容(不是值)。

我尝试了几种方法得到结果 "Monday",但要么我得到了 table 的所有名称,要么是空白 return,要么是一条错误消息。

这是我的 table:

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

如果可能的话,我只想输出 "Monday",有没有办法,我可以输入代码让 "Monday" 作为输出?

非常感谢您的帮助,

麦克

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

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

将return

Monday
Dienstag

在 $() 中包含对 "Keys" 的调用将导致集合被转换为对象数组,如您在此处看到的:

$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  

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

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

$Weekdays["Monday"] 将打印出 Montag。就像带索引的 Arry。在 Hashtable/Dictionary 中,键是索引。绝对记得将钥匙放在引号中。否则会失败。