所以我的 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 作为返回......尽管事实上有很多
最佳答案
您正在以一种奇怪的方式解析您的对象。您为什么不使用管道让自己更轻松一些?
$ObjectArray | % { "$($_.id): $($_.address)"; 0 }
一切都将以这种方式放入成功/输出管道并可以被捕获(例如,如果您将 $var =
放在表达式之前)
关于Powershell:Foreach 不工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44709524/