Foreach-silmukasta poistuminen PowerShellissä


Paras vastaus

Kuinka poistun foreach-silmukasta PowerShellissä?

Ellet ohita ääretöntä -objektien lukumäärä silmukkaan, kukin -silmukka lopettaa itsensä kerran, kun jokainen -objektista käsitellään.

kohteelle kukin ( $ obj kohteessa $ array)

Voit lopettaa sen ennenaikaisesti ehdollisella logiikalla sisään silmukan prosessi. Esimerkiksi jos objekti vastaa ehtoa, katkaise silmukka.

[bool[]]$array

foreach($obj in $array)

{

if ($obj -eq $false)

{

break

}

else

{

#do something

}

}

Muut silmukatyypit, kuten silmukoille ja do-while / do-till -silmuille, ovat paljon alttiimpia juoksulle loputtomasti huonojen init-parametrien vuoksi.

Powershell-opetusohjelma – Luo loputon silmukka ja välttää puhelun syvyyden ylivuoto – Vexasoft

Vastaa

Käytät tauko `, esim .:

foreach ($val in $vals) {

if ($val -eq 10) {

break

}

}

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *