Arrays 无法索引到数组以将其转换为哈希表

Arrays 无法索引到数组以将其转换为哈希表,arrays,powershell,hashtable,Arrays,Powershell,Hashtable,我正在尝试将数组转换为哈希表,但一直出现此错误 无法索引到System.Management.Automation.PSObject类型的对象 我到处找,找不到其他人有同样的问题 我的代码: [array]$compArray = $ds3 | select -Property DeviceName, IP_Address $DeviceHashtable = @{} $compArray[0][0] for ($i=0;$i -lt $compArray.length;$i++) {

我正在尝试将数组转换为哈希表,但一直出现此错误

无法索引到System.Management.Automation.PSObject类型的对象

我到处找,找不到其他人有同样的问题

我的代码:

[array]$compArray = $ds3 | select -Property DeviceName, IP_Address

$DeviceHashtable = @{}
$compArray[0][0]
for ($i=0;$i -lt $compArray.length;$i++)
    {
    $1=[string]$compArray[0][$i];
    $2=[string]$compArray[1][$i];
    $DeviceHashTable.add("$1", "$2")
    }
$ds3是system.data.datatable对象 如果我做$comparay |显示表格,我想要的所有数据都在那里。 感谢您的帮助:)

尝试以下方法:

$compArray = $ds3 | select -Property DeviceName, IP_Address
$DeviceHashtable = @{}
$compArray | %  {  $DeviceHashtable.add( $_.DeviceName, $_.IP_Address )}

谢谢,效果很好。%符号表示尽可能多地执行X?%是foreach object cmdlet的别名。尝试:获取每个对象的帮助-全文阅读!很乐意帮忙