Op Youtube
Deze video maakt deel uit van de IIP playlist van de Youtube channel van Rogier van der Linde.
Let op: deze video's zijn al een paar jaar oud, dus hier en daar kunnen kleine afwijkingen voorkomen met deze cursus, die wel altijd up-to-date is.
Wat zijn iteraties
- Een ander woord voor iteratie is herhaling.
- = Herhaling van een groep statements (vast aantal keer of zolang aan voorwaarde wordt voldaan).
Iteratie-structuren
WHILE-iteratie
Voert instructieblok uit zolang aan een bepaalde voorwaarde wordt voldaan. Deze voorwaarde wordt eerst gecontroleerd (0 of meerdere keren herhaald).
while (voorwaarde)
{
// te herhalen instructies
}
Voorbeeld 1
Dit voorbeeld telt verder zolang het getal kleiner of gelijk aan 5 is:
int getal = 1;
while (getal <= 5)
{
Console.WriteLine(getal);
getal++;
}
Voorbeeld 2
Dit voorbeeld doet voort zolang het antwoord ja is:
string voortdoen = "ja";
while (voortdoen == "ja")
{
Console.WriteLine($"We doen voort...");
Console.Write("Voortdoen? ja of nee: ");
voortdoen = Console.ReadLine();
}
Console.WriteLine("We doen niet meer voort.");
DO WHILE-iteratie
Voert instructieblok uit zolang aan een bepaalde voorwaarde wordt voldaan. Statements worden éérst uitgevoerd, nadien pas wordt voorwaarde gecontroleerd (1 of meerdere keren herhaald).
do
{
// te herhalen instructies
}
while (voorwaarde);
Voorbeeld 1
Dit voorbeeld telt verder zolang het getal kleiner of gelijk aan 5 is:
int getal = 1;
do
{
Console.WriteLine(getal);
getal++;
}
while (getal <= 5);
Voorbeeld 2
Nog een typisch voorbeeld, een raadspelletje:
int geheimGetal = 7;
Console.WriteLine("Raad een getal tussen 1 en 10");
int getal;
do
{
Console.Write("Jouw gok: ");
getal = Convert.ToInt32(Console.ReadLine());
}
while (getal != geheimGetal);
Console.WriteLine("Geraden");
FOR-iteratie
Een for-iteratie bestaat uit drie delen:
- begin: wordt uitgevoerd vóór de start van de iteratie
- voorwaarde: instructies worden herhaald zolang aan deze voorwaarde is voldaan
- increment: wordt uitgevoerd ná de instructies binnen de lus
for (begin; voorwaarde; increment)
{
// te herhalen instructies
}
Voorbeeld 1: oplopend tellen
for (int i = 1; i <= 5; i++)
{
Console.WriteLine(i);
}
Voorbeeld 2: tellen in sprongen van 2
Het increment hoeft niet altijd met één omhoog te gaan, onderstaande lus telt met sprongen van twee:
for (int i = 1; i <=10; i+=2)
{
Console.WriteLine(i);
}
Voorbeeld 3: aflopend tellen
Je kunt ook aftellen door gebruik te maken van de decrement-operator (−−
of −=
):
for (int i = 5; i >= 1; i−−)
{
Console.WriteLine(i);
}
FOREACH-iteratie
Met een foreach-iteratie kan je door alle elementen van een collectie itereren (array's, lijsten, ListBoxItem's, ...).
Voorbeeld 1: karakters van een string overlopen
Een string is een collectie van karakters (char
's) en kan je dus ook overlopen d.m.v. een foreach-iteratie:
string str = "Hello!";
foreach (char letter in str)
{
Console.WriteLine(letter);
}
Voorbeeld 2: items van een ListBox overlopen
Foreach wordt ook veel gebruikt in WPF, b.v. om de Items van een ListBox te overlopen
Juiste iteratie kiezen
- aantal iteraties afhankelijk van voorwaarde, 0 of meer keer:
while
- aantal iteraties afhankelijk van voorwaarde, 1 of meer keer:
do while
- vast aantal iteraties:
for
- itereren over alle elementen binnen een verzameling:
foreach