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:

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
da come risultato

Text

1
e lo script termina.

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"
da il risultato corretto, ovvero

Text

1
3
5
7
9
11
13
15
17
19
END
arrivando fino alla fine dello script.

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
Tags:
PowerShell200
Potrebbe interessarti anche: