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  
  } 
 }