Beste antwoord
Hoe verlaat ik een foreach-lus in PowerShell?
Tenzij je een oneindige passeert aantal objecten in de lus, de voor elke lus zal zichzelf een keer beëindigen elk van de objecten wordt verwerkt.
voor elk ( $ obj in $ array)
U kunt het voortijdig beëindigen met voorwaardelijke logica in het lusproces. Als een object bijvoorbeeld overeenkomt met een voorwaarde, verbreek de lus.
[bool[]]$array
foreach($obj in $array)
{
if ($obj -eq $false)
{
break
}
else
{
#do something
}
}
Andere lustypes, zoals for loops en do-while / do-till-lussen, zijn veel vatbaarder voor oneindig draaien vanwege slechte initparameters.
Antwoord
Je gebruikt ` break “, bijv .:
foreach ($val in $vals) {
if ($val -eq 10) {
break
}
}