PowerShell似乎正在返回数组,但它没有

时间:2018-07-08 20:42:50

标签: arrays powershell loops

我正在执行以下命令

az acr repository show-tags

我得到的结果是

[
  "1",
  "2",
  "latest"
]

当我将结果分配给变量并执行检查类型时,我得到Object[]

PS> Write-Host " $($tags.GetType())";
System.Object[]

然后,当我执行for循环时,我得到一个异常

  

无法索引为空数组。

for ($i=0; $i -lt $tags.length; $i++) {
    $tag = $array[$i]
}

由于返回类型不为空并且是数组,为什么不能循环数组?

1 个答案:

答案 0 :(得分:0)

你不能只是做

foreach ($tag in $tags) {
    write-host $tag
}

遍历数组?在您的示例中,没有名为$ array的数组,因此它是空对象,因此会出错。

对不起,如果我错过了您想做的事情,希望对您有所帮助。