I den här artikeln kommer vi att lära oss om medan och göra … medan loop i C #, hur man använder dem och skillnaden mellan dem.
Vid programmering är det ofta önskvärt att utföra vissa block av uttalanden för ett visst antal gånger. En möjlig lösning kommer att vara att skriva dessa uttalanden för det antal gånger som krävs. Antalet repetitioner kanske dock inte är känt i förväg (under kompileringstiden) eller kanske tillräckligt stort (säg 10000).
Den bästa lösningen på ett sådant problem är loop. Slingor används vid programmering för att upprepade gånger utföra ett visst påstående tills några villkor är uppfyllda.
I den här artikeln lär vi oss att använda medan loopar i C #.
C # medan slinga
Den medan nyckelordet används för att skapa medan loop i C #. Syntaxen för while loop är:
while (testuttryck) (// body of while)
Hur medan loop fungerar?
- C # medan slingan består av en
test-expression. - Om den
test-expressionutvärderas tilltrue,- uttalanden inuti while-slingan körs.
- efter utförandet
test-expressionutvärderas den igen.
- Om
test-expressionutvärderas tillfalseavslutas while-slingan.
medan loop Flödesschema

Exempel 1: while Loop
using System; namespace Loop ( class WhileLoop ( public static void Main(string() args) ( int i=1; while (i<=5) ( Console.WriteLine("C# For Loop: Iteration (0)", i); i++; ) ) ) )
När vi kör programmet blir resultatet:
C # For Loop: Iteration 1 C # For Loop: Iteration 2 C # For Loop: Iteration 3 C # For Loop: Iteration 4 C # For Loop: Iteration 5
Ursprungligen är värdet på i 1.
När programmet når while loop-uttalandet,
- testuttrycket
i <=5utvärderas. Eftersom jag är 1 och1 <= 5ärtrueexekverar den kroppen för stundslingan. Här skrivs raden ut på skärmen med Iteration 1 och värdet på i ökas med 1 till 2. - Nu
i <=5utvärderas testuttrycket ( ) igen. Även denna gång återgår uttryckettrue(2 <= 5), så raden skrivs ut på skärmen och värdet på i ökas nu till 3 … - Detta går och medan slingan körs tills jag blir 6. Vid denna tidpunkt kommer testuttrycket att utvärderas till
falseoch därmed slingan avslutas.
Exempel 2: medan loop för att beräkna summan av de första 5 naturliga siffrorna
using System; namespace Loop ( class WhileLoop ( public static void Main(string() args) ( int i=1, sum=0; while (i<=5) ( sum += i; i++; ) Console.WriteLine("Sum = (0)", sum); ) ) )
När vi kör programmet blir resultatet:
Summa = 15
Detta program beräknar summan av de första 5 naturliga siffrorna.
- Initialt initialiseras summan till 0.
- Vid varje iteration uppdateras summan till
sum+ioch värdet på i ökas med 1. - När värdet på i når 6 kommer testuttrycket
i<=5att returnera falskt och slingan avslutas.
Låt oss se vad som händer i det givna programmet på varje iteration.
Ursprungligen var i = 1, summan = 0
Medan loop exekveringssteg| Iteration | Värdet på i | jag <= 5 | Summan |
|---|---|---|---|
| 1 | 1 | Sann | 0 + 1 = 1 |
| 2 | 2 | Sann | 1 + 2 = 3 |
| 3 | 3 | Sann | 3 + 3 = 6 |
| 4 | 4 | Sann | 6 + 4 = 10 |
| 5 | 5 | Sann | 10 + 5 = 15 |
| 6 | 6 | falsk | Loop avslutas |
Så det slutliga värdet av summan blir 15.
C # gör … medan loop
Den gör och när nyckelordet används för att skapa en gör … while-slinga. Det liknar en stundslinga, men det finns en stor skillnad mellan dem.
Under slingan kontrolleras tillståndet innan kroppen körs. Det är exakt motsatt i do … while loop, dvs. villkor kontrolleras efter att kroppen har exekverats.
Det är därför kroppen för att göra … medan slingan kommer att köras minst en gång oavsett testuttrycket.
Syntaxen för do … while loop är:
do (// body of do while loop) while (test-expression);
Hur fungerar … medan loop fungerar?
- Body of do … medan loop utförs först.
- Sedan
test-expressionutvärderas. - Om den
test-expressionärtrue, körs kroppen av slingan. - När
test-expressionärfalse, gör … medan slingan avslutas.
gör … medan loop Flödesschema

Exempel 3: gör … medan slinga
using System; namespace Loop ( class DoWhileLoop ( public static void Main(string() args) ( int i = 1, n = 5, product; do ( product = n * i; Console.WriteLine("(0) * (1) = (2)", n, i, product); i++; ) while (i <= 10); ) ) )
När vi kör programmet blir resultatet:
5 * 1 = 5 5 * 2 = 10 5 * 3 = 15 5 * 4 = 20 5 * 5 = 25 5 * 6 = 30 5 * 7 = 35 5 * 8 = 40 5 * 9 = 45 5 * 10 = 50
As we can see, the above program prints the multiplication table of a number (5).
- Initially, the value of i is 1. The program, then enters the body of do… while loop without checking any condition (as opposed to while loop).
- Inside the body, product is calculated and printed on the screen. The value of i is then incremented to 2.
- After the execution of the loop’s body, the test expression
i <= 10is evaluated. In total, the do… while loop will run for 10 times. - Finally, when the value of i is 11, the test-expression evaluates to
falseand hence terminates the loop.
Infinite while and do… while loop
If the test expression in the while and do… while loop never evaluates to false, the body of loop will run forever. Such loops are called infinite loop.
For example:
Infinite while loop
while (true) (// body of while loop)
Oändlig gör … medan slinga
do (// body of while loop) while (true);
Den oändliga slingan är användbar när vi behöver en slinga för att köra så länge som vårt program körs.
Om ditt program till exempel är en animation måste du ständigt köra det tills det stoppas. I sådana fall är en oändlig slinga nödvändig för att fortsätta att köra animationen upprepade gånger.








