问题描述
$podhashtable = @{2 = '1','2' ; 3 = '3','4','5' ; 1 = '6'}
这是我如何实现上述哈希表的代码,
$podnumbers = @(2,3,1)
$podInfo = @()
$podhashtable = [ordered]@{}
$buff = 0
foreach ($pd in $podnumbers) {
#$podInfo = @()
for($i=0;$i -lt $pd;$i = $i+1) {
$pod = Read-Host -Prompt "Assign the pod numbers for",$esxarray[$buff]
$podinfo += $pod
}
$podInfoOb = New-Object PSObject –Property $podsets
$podsets = @{$pd = $podInfo}
$podhashtable += $podsets
$buff = $buff + 1
}
Write-Output $podhashtable
我正在尝试创建如下所示的哈希表数组,
$podhashtable = @{2 = '1','2'},@{3 = '3','5'},@{1 = '6'}
解决方法
这个问题显然是指:How to add same keys with different values to a hashtable in powershell?
我想您想这样做:
$buff = 0
$podnumbers = @(2,3,1,2)
$podhashtable = foreach ($pd in $podnumbers) {
$podInfo = @{}
for($i=0; $i -lt $pd; $i = $i+1) {
$pod = Read-Host -Prompt "Assign the pod numbers for" #,$esxarray[$buff]
$podinfo[$i] = $pod
# $podInfoOb = New-Object PSObject –Property $podsets
$podInfo
$buff = $buff + 1
}
}
Write-Output $podhashtable
但是我不确定,因为您没有提供MCVE(请下次提供;例如:定义$esxarray
或将其省略)。