Korduslaused

Tsüklid

Tsüklid saavad koodiplokki käivitada seni, kuni on saavutatud määratud tingimus.

Tsüklid on käepärased, sest need säästavad aega, vähendavad vigu ja muudavad koodi loetavamaks.

C# While tsükkel

While-tsükkel läbib koodiplokki seni, kuni määratud tingimus on True:

while (condition) 
{
  // code block to be executed
}

Allolevas näites käivitub tsükli kood ikka ja jälle, kui muutuja (i) on väiksem kui 5:

int i = 0;
while (i < 5) 
{
  Console.WriteLine(i);
  i++;
}

Märkus: Ära unusta tingimuses kasutatava muutuja väärtust suurendada, vastasel juhul tsükkel ei lõpe kunagi!

Do/While tsükkel

Do/while tsükkel on while tsükli variant. See tsükkel käivitab koodiploki üks kord, enne kui kontrollib, kas tingimus on true, ja kordab seejärel tsüklit seni, kuni tingimus on true.

do 
{
  // code block to be executed
}
while (condition);

Allolev näide kasutab do/while tsüklit. Tsüklit käivitatakse alati vähemalt üks kord, isegi kui tingimus on false, sest koodiplokk käivitatakse enne tingimuse testimist:

int i = 0;
do 
{
  Console.WriteLine(i);
  i++;
}
while (i < 5);

C# For stükel

Kui tead täpselt, mitu korda soovid koodiplokki läbi käia, kasuta while-tsükli asemel for-tsüklit:

for (statement 1; statement 2; statement 3) 
{
  // code block to be executed
}

Lause 1 täidetakse (üks kord) enne koodiploki täideviimist.

Lause 2 määratleb koodiploki täideviimise tingimuse.

Lause 3 täidetakse (iga kord) pärast koodiploki täideviimist.

Allolev näide prindib numbrid 0 kuni 4:

for (int i = 0; i < 5; i++) 
{
  Console.WriteLine(i);
}

Näite selgitus
Lause 1 seab muutuja enne tsükli algust (int i = 0).

Lause 2 määratleb tsükli käivitumise tingimuse (i peab olema väiksem kui 5). Kui tingimus on tõene, algab tsükkel uuesti, kui see on väär, siis tsükkel lõpeb.

Lause 3 suurendab väärtust (i++) iga kord, kui tsükli koodiplokk on käivitatud.

See näide prindib ainult paarisarvud vahemikus 0 kuni 10:

for (int i = 0; i <= 10; i = i + 2) 
{
  Console.WriteLine(i);
}

Foreach-tsükkel

Samuti on olemas foreach-tsükkel, mida kasutatakse ainult massiivi (või muude andmekogumite) elementide läbimiseks:

foreach (type variableName in arrayName) 
{
  // code block to be executed
}

Järgnev näide väljastab kõik cars massiivi elemendid, kasutades foreach tsüklit:

string[] cars = {"Volvo", "BMW", "Ford", "Mazda"};
foreach (string i in cars) 
{
  Console.WriteLine(i);
}

Märkus: Ära muretse, kui sa ülaltoodud näitest aru ei saa. Massiivi kohta saad rohkem teada C# massiivide peatükist.