När vi behöver köra en slinga minst en gång använder vi Do-while-slingan i PowerShell.

Do-While-slingan är en slingstruktur där ett villkor utvärderas efter att uttalandena har utförts. Den här slingan är också känd som en utgångskontrollerad slinga.

Do-while-slingan är samma sak som while-slingan, men villkoret i en do-while-slinga kontrolleras alltid efter att påståendena i ett block har utförts.

Nyckelordet Do används också tillsammans med nyckelordet ”Until” för att köra påståendena i ett skriptblock. Liksom en Do-while-slinga körs även Do-until-slingan minst en gång innan villkoret utvärderas. Do-Until-slingan utför sina uttalanden i ett kodblock tills villkoret är falskt. När villkoret är sant avslutas slingan.

Vi kan använda flödeskontrollnyckelord som Break och Continue i en Do-while- eller Do-until-slinga.

Syntax

Följande block visar syntaxen för Do-while-slingan:

Följande block visar syntaxen för Do-until-slingan:

Flödesschema för Do-While-slinga

Flödesschema för Do-Until-slinga

Exempel

Följande exempel beskriver hur man använder Do-while- och Do-until-slingan i PowerShell:

Exempel1: I det här exemplet skriver vi ut värdena för ett heltal från 1 till 10.

Output:

12345678910

Exempel2: I det här exemplet skriver vi ut värdena för en array med hjälp av Do until-slingan.

Output:

1234567

Exempel3: I det här exemplet skriver vi ut multiplikationstabellen för 5 med hjälp av Do-while-slingan.

Output:

5 * 1 = 55 * 2 = 105 * 3 = 155 * 4 = 205 * 5 = 255 * 6 = 305 * 7 = 355 * 8 = 405 * 9 = 455 * 10 = 50

I det här exemplet har vi skrivit ut multiplikationstabellen för 5 med hjälp av en Do-while-slinga. Först har vi skapat och initialiserat en variabel $table och $i med värdena 5 respektive 1. Sedan har vi skrivit en do-while-slinga.

I en slinga har vi ett eko-kommando som skriver ut resultatet av $res, som lagrar multiplikationen av $table * $i.

Varje gång ökas värdet på variabeln $i med 1, och villkoret kontrolleras. När värdet på variabeln $i blir 11 blir villkoret falskt och slingan avslutas.

Lämna ett svar

Din e-postadress kommer inte publiceras.