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 中,键是索引。绝对记得将钥匙放在引号中。否则会失败。
我正在 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 中,键是索引。绝对记得将钥匙放在引号中。否则会失败。