Bedste svar
Hvordan afslutter jeg en foreach-loop i PowerShell?
Medmindre du passerer en uendelig antallet af objekter i sløjfen, for hver sløjfe afslutter sig selv en gang hver af objekter behandles.
for hver ( $ obj i $ array)
Du kan opsige det for tidligt med betinget logik i loop-processen. Hvis et objekt f.eks. Matcher en betingelse, bryder sløjfen.
[bool[]]$array
foreach($obj in $array)
{
if ($obj -eq $false)
{
break
}
else
{
#do something
}
}
Andre looptyper, som for sløjfer og do-while / do-indtil-sløjfer, er meget mere tilbøjelige til at køre uendeligt på grund af dårlige initparametre.
Svar
Du bruger ` pause `, fx:
foreach ($val in $vals) {
if ($val -eq 10) {
break
}
}