ForEach e istruzione Continue in Powershell
In PowerShell l'istruzione continue, usata in un ciclo foreach, si comporta come l'istruzione break, ovvero comporta l'interruzione dello script.
Questo è un esempio:
da come risultato
e lo script termina.
Per avere lo stesso comportamento dell'istruzione continue presente, ad esempio in C#, va usata l'istruzione return
da il risultato corretto, ovvero
arrivando fino alla fine dello script.
Nel ciclo while si comporta come aspettato:
Vedi anche About Continue
Questo è un esempio:
PowerShell
1..20 | ForEach-Object {
if ($_ % 2 -eq 0) {
continue # continue si comporta come il break
}
write-host $_
}
write-host "END" # non arriverà mai qui
Text
1
Per avere lo stesso comportamento dell'istruzione continue presente, ad esempio in C#, va usata l'istruzione return
PowerShell
1..20 | ForEach-Object {
if ($_ % 2 -eq 0) {
return # return si comporta come continue in altri linguaggi
}
write-host $_
}
write-host "END"
Text
1
3
5
7
9
11
13
15
17
19
END
Nel ciclo while si comporta come aspettato:
PowerShell
$i=0
while ($i -le 20 ) {
$i++
if ( $i % 2 -eq 0) {
continue
}
write-host $i
}
write-host "END"
Text
1
3
5
7
9
11
13
15
17
19
END
Vedi anche About Continue