Ebben a cikkben megtudhatjuk a while és do… while ciklust a C # -ben, hogyan kell használni őket, és különbséget kell tenni közöttük.
A programozás során gyakran kívánatos végrehajtani bizonyos utasításblokkot meghatározott számú alkalommal. Lehetséges megoldás az, hogy ezeket az utasításokat a szükséges számú alkalommal beírja. Előfordulhat azonban, hogy az ismétlések száma nem ismert előre (a fordítási idő alatt), vagy esetleg elég nagy (mondjuk 10000).
A legjobb megoldás erre a problémára a hurok. A programozási ciklusokat arra használják, hogy egy bizonyos utasításblokkot ismételten végrehajtsanak, amíg valamely feltétel nem teljesül.
Ebben a cikkben megtanuljuk használni a ciklusok használatát a C # -ben.
C # while hurok
A while kulcsszó a while ciklus létrehozására szolgál a C # mezőben. A while ciklus szintaxisa:
while (teszt-kifejezés) (// a time test)
Hogyan működik a hurok?
- C # míg a hurok a-ból áll
test-expression. - Ha a
test-expressionkiértékeljük, hogytrue,- a while cikluson belüli utasítások végrehajtásra kerülnek.
- a végrehajtás után az
test-expressionértéket újra kiértékelik.
- Ha a
test-expressionértékeljük, hogyfalsea while ciklus befejeződik.
miközben hurok Folyamatábra

1. példa: míg a hurok
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++; ) ) ) )
A program futtatásakor a kimenet a következő lesz:
C # Hurok esetén: Iteráció 1 C # Hurok esetén: Iteráció 2 C # Hurok esetén: Iteráció 3 C # Hurok esetén: Iteráció 4 C # Hurok esetén: Iteráció 5
Kezdetben i értéke 1.
Amikor a program eléri a while ciklus utasítást,
i <=5kiértékelik a teszt kifejezést . Mivel i = 1 és1 <= 5aztrue, hogy végrehajtja a test a while ciklus. Itt a sort az Iteráció 1-gyel kinyomtatják a képernyőre, és az i értékét 1-gyel növelve 2 lesz.- Most a teszt kifejezést (
i <=5) újra kiértékeljük. Ezúttal is visszatér a kifejezéstrue(2 <= 5), így a vonal kinyomtatásra kerül a képernyőn, és az i értéke mostantól 3-ra növekszik. - Ez megy, míg a while ciklus addig hajt végre, amíg i nem lesz 6. Ezen a ponton a teszt-kifejezés kiértékeli
falseés így a hurok véget ér.
2. példa: while ciklus az első 5 természetes szám összegének kiszámításához
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); ) ) )
A program futtatásakor a kimenet a következő lesz:
Összeg = 15
Ez a program kiszámítja az első 5 természetes szám összegét.
- Kezdetben az összeg értéke 0-ra inicializálódik.
- Minden iterációnál az összeg értéke frissül,
sum+iés az i értéke 1-gyel növekszik. - Amikor az i értéke eléri a 6 értéket, a teszt kifejezés
i<=5hamis értéket ad vissza, és a hurok véget ér.
Lássuk, mi történik az adott programban az egyes iterációkon.
Kezdetben i = 1, összeg = 0
Míg a hurok végrehajtása lépés| Ismétlés | I értéke | i <= 5 | Az összeg értéke |
|---|---|---|---|
| 1 | 1 | igaz | 0 + 1 = 1 |
| 2 | 2 | igaz | 1 + 2 = 3 |
| 3 | 3 | igaz | 3 + 3 = 6 |
| 4 | 4 | igaz | 6 + 4 = 10 |
| 5. | 5. | igaz | 10 + 5 = 15 |
| 6. | 6. | hamis | A hurok véget ér |
Tehát az összeg végső értéke 15 lesz.
C # do… while ciklus
A do és while kulcsszó a do… while ciklus létrehozására szolgál. Hasonló egy darab hurokhoz, azonban nagy különbség van közöttük.
A while ciklusban az állapotot a test végrehajtása előtt ellenőrizzük. Pontosan az ellenkezője van a do… while ciklusnak, vagyis az állapot ellenőrzése a test végrehajtása után történik.
Ez az oka annak, hogy a do… teste, míg a ciklus legalább egyszer végrehajtja a teszt-kifejezéstől függetlenül.
A do… while ciklus szintaxisa:
do (// do while loop törzs) while (teszt-kifejezés);
Hogyan… miközben a hurok működik?
- A do… teste, míg a ciklust először végrehajtják.
- Ezután a
test-expressionkiértékelődik. - Ha az
test-expressionvantrue, a test hurok kerül végrehajtásra. - Ha a
test-expressionvanfalse, akkor tedd … amíg a hurok véget ér.
csináld … közben folyamatábrát

3. példa: do… while ciklus
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); ) ) )
A program futtatásakor a kimenet a következő lesz:
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) (// a while ciklus törzse)
Végtelen do… while loop
do (// a hurok teste) while (igaz);
A végtelen ciklus akkor hasznos, ha hurokra van szükségünk, amíg a programunk fut.
Például, ha a program animáció, akkor folyamatosan futtatnia kell, amíg le nem áll. Ilyen esetekben végtelen ciklusra van szükség az animáció ismételt futtatásához.








