使用变量键的Powershell哈希表值
我试图让用户进行选择,然后根据该选择从哈希表返回一个值 我的哈希表如下所示:使用变量键的Powershell哈希表值,powershell,variables,key,hashtable,Powershell,Variables,Key,Hashtable,我试图让用户进行选择,然后根据该选择从哈希表返回一个值 我的哈希表如下所示: $choices = @{ 0 = "SelectionA"; 1 = "SelectionB"; 99 = "SelectionC"} $selection = Read-Host -Prompt " Please make a selection 0 - Selection A 1 - Selection B 99 - Selection C " $c
$choices = @{ 0 = "SelectionA";
1 = "SelectionB";
99 = "SelectionC"}
$selection = Read-Host -Prompt "
Please make a selection
0 - Selection A
1 - Selection B
99 - Selection C "
$choices.$selection
我的选择如下所示:
$choices = @{ 0 = "SelectionA";
1 = "SelectionB";
99 = "SelectionC"}
$selection = Read-Host -Prompt "
Please make a selection
0 - Selection A
1 - Selection B
99 - Selection C "
$choices.$selection
然后,我尝试根据选择返回值,如下所示:
$choices = @{ 0 = "SelectionA";
1 = "SelectionB";
99 = "SelectionC"}
$selection = Read-Host -Prompt "
Please make a selection
0 - Selection A
1 - Selection B
99 - Selection C "
$choices.$selection
或
这不管用。是否可以使用变量作为键调用哈希表值
谢谢你能提供的任何帮助 您可以使用Get_Item方法
$myChoice = $choices.Get_Item($selection)
您可能必须首先将$selection变量转换为整数,因为我相信它将以字符串的形式出现
有关哈希表的更多信息:以上评论都是正确答案。我将添加它们作为结束问题的答案 作者: 或通过: 这是PowerShell的自动类型转换盲点之一。哈希表中的键是整数,但读取主机返回字符串
$choices.[int]$selection
或$choices=@{'0'='SelectionA'}
:)。这是PowerShell的自动类型转换盲点之一。哈希表中的键是整数,但readhost
返回字符串。这两个答案都很好!两者都能起作用。非常感谢!:)