所以我的foreach循环有问题,我无法弄清楚自己在做什么错。

以下是我的代码示例:

 $objectarray ##( So this variable contains a list of lists ie name + address) ##

 Foreach ($object in $objectarray.name){


$objectid = $objectarray.Where({$_.name -eq "$object"}).id
$objectaddress = $objectarray.Where({$_.name -eq "$object"}).address

$objectprint = "$objectid" + ": " + "$objectaddress"

$objectprint
return 0

}

现在的问题是 $ objectarray 里面有多个列表,每个列表的名称,ID,地址等

但是它只打印第一个,而我只有第一个0作为返回值……尽管事实上它们很多

最佳答案

我认为是因为您在for循环内返回0。应该把它放在循环之外。

Foreach ($object in $objectarray.name){

    $objectid = $objectarray.Where({$_.name -eq "$object"}).id
    $objectaddress = $objectarray.Where({$_.name -eq "$object"}).address

    $objectprint = "$objectid" + ": " + "$objectaddress"

    $objectprint
}
return 0

关于powershell - Powershell:Foreach不起作用?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44709524/

10-14 19:13