about_Do
Korte beschrijving
Voert een instructielijst een of meer keren uit, afhankelijk van een While
of Until
voorwaarde.
Lange beschrijving
Het Do
trefwoord werkt met het While
trefwoord of het Until
trefwoord om de instructies uit te voeren in een scriptblok, afhankelijk van een voorwaarde. In tegenstelling tot de gerelateerde While
lus wordt het scriptblok in een Do
lus altijd ten minste één keer uitgevoerd.
Een Do-While-lus is een verscheidenheid aan de While
lus. In een Do-While-lus wordt de voorwaarde geëvalueerd nadat het scriptblok is uitgevoerd. Net als in een While-lus wordt het scriptblok herhaald zolang de voorwaarde waar is.
Net als bij een Do-While-lus wordt een Do-Until-lus altijd ten minste één keer uitgevoerd voordat de voorwaarde wordt geëvalueerd. Het scriptblok wordt echter alleen uitgevoerd wanneer de voorwaarde onwaar is.
De Continue
trefwoorden voor en Break
stroombeheer kunnen worden gebruikt in een Do-While-lus of in een Do-Until-lus .
Syntax
Hieronder ziet u de syntaxis van de Instructie Do-While :
do {<statement list>} while (<condition>)
Hieronder ziet u de syntaxis van de Instructie Do-Until :
do {<statement list>} until (<condition>)
De instructielijst bevat een of meer instructies die telkens worden uitgevoerd wanneer de lus wordt ingevoerd of herhaald.
Het voorwaardegedeelte van de instructie wordt omgezet in waar of onwaar. Zie about_Booleans voor meer informatie over hoe booleaanse waarden worden geëvalueerd.
Voorbeeld
In het volgende voorbeeld van een Do
instructie worden de items in een matrix geteld totdat een item met de waarde 0 wordt bereikt.
PS> $x = 1,2,78,0
PS> do { $count++; $a++; } while ($x[$a] -ne 0)
PS> $count
3
In het volgende voorbeeld wordt het Until
trefwoord gebruikt. U ziet dat de operator niet gelijk aan (-ne
) wordt vervangen door de operator gelijk aan (-eq
).
PS> $x = 1,2,78,0
PS> do { $count++; $a++; } until ($x[$a] -eq 0)
PS> $count
3
In het volgende voorbeeld worden alle waarden van een matrix geschreven, waarbij een waarde die kleiner is dan nul wordt overgeslagen.
do {
if ($x[$a] -lt 0) { continue }
Write-Host $x[$a]
}
while (++$a -lt 10)