else ifTot nu toe konden we kiezen tussen twee opties: wel of niet (met if en else). Maar wat als je meer keuzes hebt? Denk aan een stoplicht: dat kan rood, oranje of groen zijn. Of schoolcijfers: A, B, C, D of F.
Hiervoor gebruiken we de else if structuur.
Stel je voor dat je bij een stoplicht staat.
if) het licht rood is: Stop.else if) het licht oranje is: Rem af.else) (het moet dan wel groen zijn): Rij door.In C# code ziet dat er zo uit:
string stoplicht = "oranje";
if (stoplicht == "rood")
{
Console.WriteLine("Stop!");
}
else if (stoplicht == "oranje")
{
Console.WriteLine("Rem af!");
}
else
{
Console.WriteLine("Rij door!");
}
De computer gaat het rijtje van boven naar beneden af:
if. Is die waar?
else if.else if. Is die waar?
else).else blok uit (als dat er is).{.callout.callout-info}
Belangrijk:
Er wordt maximaal één blok code uitgevoerd. Zodra de computer een “match” vindt, stopt hij met zoeken in die specifieke
if-else if-elseketen.
Laten we kijken naar een schoolsysteem.
int score = 85;
if (score >= 90)
{
Console.WriteLine("Je hebt een A!");
}
else if (score >= 80)
{
Console.WriteLine("Je hebt een B!");
}
else if (score >= 70)
{
Console.WriteLine("Je hebt een C!");
}
else
{
Console.WriteLine("Helaas, een F.");
}
Wat gebeurt er hier met score 85?
score >= 90 (85 >= 90)? Nee.score >= 80 (85 >= 80)? Ja!
Als je de volgorde omdraait, gaat het mis.
// FOUTE VOLGORDE
if (score >= 70)
{
Console.WriteLine("C");
}
else if (score >= 90)
{
Console.WriteLine("A");
}
Als je hier een score van 95 hebt:
score >= 70 (95 >= 70)? Ja!else niet (optioneel)De else aan het einde is niet verplicht, maar wel handig om alle “overige” gevallen op te vangen. Als je geen else hebt en geen enkele if of else if is waar, gebeurt er gewoon niets.