Delen via


about_Do

Korte beschrijving

Hiermee wordt één of meerdere keren een instructielijst uitgevoerd, onder voorwaarde van een while of until voorwaarde.

Lange beschrijving

Het do trefwoord werkt met het while trefwoord of het until trefwoord om de opdrachten uit te voeren in een instructieblok, afhankelijk van een voorwaarde. In tegenstelling tot de gerelateerde while lus wordt het instructieblok 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 instructieblok is uitgevoerd. Net als in een while lus wordt het instructieblok 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 instructieblok wordt echter alleen uitgevoerd terwijl de voorwaarde onwaar is.

De continue trefwoorden en break stroombeheer kunnen worden gebruikt in een do/while lus of in een do/until lus.

Syntaxis

Hieronder ziet u de syntaxis van de do/while instructie:

do {<statement list>} while (<condition>)

Hieronder ziet u de syntaxis van de do/until instructie:

do {<statement list>} until (<condition>)

De lijst met instructies bevat een of meer instructies die worden uitgevoerd elke keer dat de lus wordt betreden of herhaald.

Het voorwaardegedeelte van de uitspraak evalueert tot de waarde waar of onwaar. Zie about_Booleansvoor meer informatie over hoe booleans worden geëvalueerd.

Voorbeeld

In het volgende voorbeeld van een do instructie worden de items in een matrix geteld totdat het een item met de waarde 0 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. Merk op dat de niet-gelijk operator (-ne) is vervangen door de gelijk-operator (-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 weggeschreven, waarbij elke waarde wordt overgeslagen die kleiner is dan nul.

do {
  if ($x[$a] -lt 0) { continue }
  Write-Host $x[$a]
}
while (++$a -lt 10)

Zie ook