Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用变量键的Powershell哈希表值_Powershell_Variables_Key_Hashtable - Fatal编程技术网

使用变量键的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
返回字符串。这两个答案都很好!两者都能起作用。非常感谢!:)