gpt4 book ai didi

powershell - PowerShell 中的嵌套 ForEach()

转载 作者:行者123 更新时间:2023-12-03 07:53:25 25 4
gpt4 key购买 nike

我在 Powershell 中嵌套 ForEach 循环时遇到了一些麻烦。首先,我需要遍历列表 1。对于列表 1 中的每个对象,我需要遍历列表 2。当我在列表 2 中找到相似的对象时,我想转到列表 1 中的下一个对象。

我试过休息,我试过继续,但它对我不起作用。

Function checkLists() {
ForEach ($objectA in $listA) {
ForEach ($objectB in $listB) {
if ($objectA -eq $objectB) {
// Do something
// goto next object in list A and find the next equal object
}
}
}
}

a) PowerShell 中的 break/continue 究竟做了什么?

b) 我应该如何解决我的“问题”?

最佳答案

使用 get-help about_break 中所述的标签:

A Break statement can include a label. If you use the Break keyword with
a label, Windows PowerShell exits the labeled loop instead of exiting the
current loop

像这样,
foreach ($objectA in @("a", "e", "i")) {
"objectA: $objectA"
:outer
foreach ($objectB in @("a", "b", "c", "d", "e")) {
if ($objectB -eq $objectA) {
"hit! $objectB"
break :outer
} else { "miss! $objectB" }
}
}

#Output:
objectA: a
hit! a
objectA: e
miss! a
miss! b
miss! c
miss! d
hit! e
objectA: i
miss! a
miss! b
miss! c
miss! d
miss! e

关于powershell - PowerShell 中的嵌套 ForEach(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20856634/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com