Condividi tramite


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)

Vedi anche