Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Kort beskrivning
Kör en instruktionslista en eller flera gånger, beroende på ett eller while ett until villkor.
Lång beskrivning
Nyckelordet do fungerar med nyckelordet while eller nyckelordet until för att köra -uttrycken i ett skriptblock, beroende på ett villkor. Till skillnad från den relaterade while loopen körs skriptblocket i en do loop alltid minst en gång.
En Do-While-loop är en mängd olika loopar while . I en Do-While-loop utvärderas villkoret när skriptblocket har körts. Precis som i en while-loop upprepas skriptblocket så länge villkoret utvärderas till sant.
Precis som en Do-While-loop körs alltid en Do-Until-loop minst en gång innan villkoret utvärderas. Skriptblocket körs dock bara medan villkoret är falskt.
Nyckelorden continue och break flödeskontroll kan användas i en Do-While-loop eller i en Do-Until-loop .
Syntax
Följande visar syntaxen för Do-While-instruktionen:
do {<statement list>} while (<condition>)
Följande visar syntaxen för Do-Until-instruktionen:
do {<statement list>} until (<condition>)
Instruktionslistan innehåller en eller flera instruktioner som körs varje gång loopen anges eller upprepas.
Villkorsdelen av -instruktionen matchas till sant eller falskt. Mer information om hur booleska värden utvärderas finns i about_Booleans.
Exempel
I följande exempel på en do instruktion räknas objekten i en matris tills det når ett objekt med värdet 0.
PS> $x = 1,2,78,0
PS> do { $count++; $a++; } while ($x[$a] -ne 0)
PS> $count
3
I följande exempel används nyckelordet until . Observera att operatorn inte är lika med (-ne) ersätts med operatorn lika med (-eq).
PS> $x = 1,2,78,0
PS> do { $count++; $a++; } until ($x[$a] -eq 0)
PS> $count
3
I följande exempel skrivs alla värden i en matris och alla värden som är mindre än noll hoppas över.
do {
if ($x[$a] -lt 0) { continue }
Write-Host $x[$a]
}
while (++$a -lt 10)