about_Do
Descrizione breve
Esegue un elenco di istruzioni una o più volte, soggetto a una While
condizione o Until
.
Descrizione lunga
La Do
parola chiave funziona con la While
parola chiave o la Until
parola chiave per eseguire le istruzioni in un blocco di script, soggetto a una condizione. A differenza del ciclo correlato While
, il blocco di script in un Do
ciclo viene sempre eseguito almeno una volta.
Un ciclo Do-While è un'ampia gamma di While
cicli. In un ciclo Do-While la condizione viene valutata dopo l'esecuzione del blocco di script. Come in un ciclo While, il blocco di script viene ripetuto finché la condizione restituisce true.
Come un ciclo Do-While , un ciclo Do-Until viene sempre eseguito almeno una volta prima della valutazione della condizione. Tuttavia, il blocco di script viene eseguito solo mentre la condizione è false.
Le Continue
parole chiave di controllo del flusso e Break
possono essere usate in un ciclo Do-While o in un ciclo Do-Until .
Sintassi
Di seguito viene illustrata la sintassi dell'istruzione Do-While :
do {<statement list>} while (<condition>)
Di seguito è illustrata la sintassi dell'istruzione Do-Until :
do {<statement list>} until (<condition>)
L'elenco di istruzioni contiene una o più istruzioni eseguite ogni volta che il ciclo viene immesso o ripetuto.
La parte della condizione dell'istruzione viene risolta in true o false. Per altre informazioni sulla valutazione dei valori booleani, vedere about_Booleans.
Esempio
Nell'esempio seguente di un'istruzione Do
vengono conteggiato gli elementi in una matrice fino a raggiungere un elemento con un valore pari a 0.
PS> $x = 1,2,78,0
PS> do { $count++; $a++; } while ($x[$a] -ne 0)
PS> $count
3
Nell'esempio seguente viene usata la Until
parola chiave . Si noti che l'operatore diverso da (-ne
) viene sostituito dall'operatore uguale a (-eq
).
PS> $x = 1,2,78,0
PS> do { $count++; $a++; } until ($x[$a] -eq 0)
PS> $count
3
Nell'esempio seguente vengono scritti tutti i valori di una matrice, ignorando qualsiasi valore minore di zero.
do {
if ($x[$a] -lt 0) { continue }
Write-Host $x[$a]
}
while (++$a -lt 10)