about_Do
Description courte
Exécute une liste d’instructions une ou plusieurs fois, sous réserve d’une ou Until
d’une While
condition.
Description longue
Le Do
mot clé fonctionne avec le While
mot clé ou le Until
mot clé pour exécuter les instructions dans un bloc de script, sous réserve d’une condition. Contrairement à la boucle associée While
, le bloc de script d’une Do
boucle s’exécute toujours au moins une fois.
Une boucle Do-While est une variété de la While
boucle. Dans une boucle Do-While , la condition est évaluée après l’exécution du bloc de script. Comme dans une boucle While, le bloc de script est répété tant que la condition est évaluée à true.
Comme une boucle Do-While , une boucle Do-Until s’exécute toujours au moins une fois avant l’évaluation de la condition. Toutefois, le bloc de script s’exécute uniquement pendant que la condition est false.
Les Continue
mots clés de contrôle de flux peuvent Break
être utilisés dans une boucle Do-While ou dans une boucle Do-Until .
Syntaxe
Voici la syntaxe de l’instruction Do-While :
do {<statement list>} while (<condition>)
Voici la syntaxe de l’instruction Do-Until :
do {<statement list>} until (<condition>)
La liste d’instructions contient une ou plusieurs instructions qui s’exécutent chaque fois que la boucle est entrée ou répétée.
La partie condition de l’instruction est résolue en true ou false. Pour plus d’informations sur la façon dont les valeurs booléennes sont évaluées, consultez about_Booleans.
Exemple
L’exemple suivant d’une Do
instruction compte les éléments d’un tableau jusqu’à ce qu’il atteigne un élément avec la valeur 0.
PS> $x = 1,2,78,0
PS> do { $count++; $a++; } while ($x[$a] -ne 0)
PS> $count
3
L’exemple suivant utilise le Until
mot clé. Notez que l’opérateur non égal à (-ne
) est remplacé par l’opérateur égal à (-eq
).
PS> $x = 1,2,78,0
PS> do { $count++; $a++; } until ($x[$a] -eq 0)
PS> $count
3
L’exemple suivant écrit toutes les valeurs d’un tableau, en ignorant toute valeur inférieure à zéro.
do {
if ($x[$a] -lt 0) { continue }
Write-Host $x[$a]
}
while (++$a -lt 10)