If-Else-Ketju
Voimme lisätä lisäehtoja käyttämällä else if -avainsanaa. Lisäehdot arvioidaan, jos aiemmat ehdot eivät täyty.
if (expression)
{
// code if first condition is met
}
else if (expression)
{
// code if second condition is met
} else
{
// code if no condition is met
}
Tarkastellaan esimerkkiä, jossa käytetään if else -ketjua:
main.cs
1234567891011121314151617181920212223242526using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { int value_1 = 9; int value_2 = 7; if(value_1 < value_2) { Console.WriteLine("Value 1 is smaller than Value 2"); } else if(value_1 > value_2) { Console.WriteLine("Value 1 is bigger than Value 2"); } else if(value_1 == value_2) { Console.WriteLine("Value 1 is equal to Value 2"); } } } }
Yllä olevassa ohjelmassa ketjutimme ehtoja käyttämällä if-else if -rakennetta. Tätä kutsutaan ehdolliseksi ketjutukseksi. Ensimmäinen ehto value_1 < value_2 arvioidaan. Koska se on false, ohjelma siirtyy seuraavaan ehtoon value_1 > value_2, joka on true, ja suorittaa kyseisen koodilohkon sekä lopettaa ketjun suorittamisen siihen.
Ehdollisen ketjutuksen keskeinen ominaisuus on, että ketjun suoritus lopetetaan heti, kun jokin ehto täyttyy.
Tarkastellaan seuraavaa koodia:
main.cs
12345678910111213141516171819202122232425using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { int value = 10; if(value > 5) { Console.WriteLine("Value is bigger than 5"); } else if(value > 7) { Console.WriteLine("Value is bigger than 7"); } else if(value > 9) { Console.WriteLine("Value is bigger than 9"); } } } }
Vaikka kaikki kolme ehtoa ovat true, suoritus pysähtyy ensimmäiseen ehtoon, koska kyseessä on ketju.
Kokeillaan nyt kirjoittaa sama käyttämällä yksinkertaisia if-avainsanoja ilman ketjutusta:
main.cs
123456789101112131415161718192021222324252627using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { int value = 10; if(value > 5) { Console.WriteLine("Value is bigger than 5"); } if(value > 7) { Console.WriteLine("Value is bigger than 7"); } if(value > 9) { Console.WriteLine("Value is bigger than 9"); } } } }
Yllä olevassa tapauksessa jokainen ehto arvioidaan erikseen eikä niitä käsitellä ketjuna, joten kaikki kolme lausetta tulostetaan.
Voimme myös lisätä else-avainsanan if-else-ketjun loppuun, jolloin se suoritetaan, jos mikään ehto ei täyty:
main.cs
1234567891011121314151617181920212223242526using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { int value_1 = 9; int value_2 = 7; if(value_1 < value_2) { Console.WriteLine("Value 1 is smaller than Value 2"); } else if(value_1 > value_2) { Console.WriteLine("Value 1 is bigger than Value 2"); } else { Console.WriteLine("Value 1 is equal to Value 2"); } } } }
Kiitos palautteestasi!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme
Can you explain the difference between using chained if-else and separate if statements?
Can you provide more examples of conditional chaining?
What happens if none of the conditions in the if-else chain are true?
Awesome!
Completion rate improved to 1.59
If-Else-Ketju
Pyyhkäise näyttääksesi valikon
Voimme lisätä lisäehtoja käyttämällä else if -avainsanaa. Lisäehdot arvioidaan, jos aiemmat ehdot eivät täyty.
if (expression)
{
// code if first condition is met
}
else if (expression)
{
// code if second condition is met
} else
{
// code if no condition is met
}
Tarkastellaan esimerkkiä, jossa käytetään if else -ketjua:
main.cs
1234567891011121314151617181920212223242526using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { int value_1 = 9; int value_2 = 7; if(value_1 < value_2) { Console.WriteLine("Value 1 is smaller than Value 2"); } else if(value_1 > value_2) { Console.WriteLine("Value 1 is bigger than Value 2"); } else if(value_1 == value_2) { Console.WriteLine("Value 1 is equal to Value 2"); } } } }
Yllä olevassa ohjelmassa ketjutimme ehtoja käyttämällä if-else if -rakennetta. Tätä kutsutaan ehdolliseksi ketjutukseksi. Ensimmäinen ehto value_1 < value_2 arvioidaan. Koska se on false, ohjelma siirtyy seuraavaan ehtoon value_1 > value_2, joka on true, ja suorittaa kyseisen koodilohkon sekä lopettaa ketjun suorittamisen siihen.
Ehdollisen ketjutuksen keskeinen ominaisuus on, että ketjun suoritus lopetetaan heti, kun jokin ehto täyttyy.
Tarkastellaan seuraavaa koodia:
main.cs
12345678910111213141516171819202122232425using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { int value = 10; if(value > 5) { Console.WriteLine("Value is bigger than 5"); } else if(value > 7) { Console.WriteLine("Value is bigger than 7"); } else if(value > 9) { Console.WriteLine("Value is bigger than 9"); } } } }
Vaikka kaikki kolme ehtoa ovat true, suoritus pysähtyy ensimmäiseen ehtoon, koska kyseessä on ketju.
Kokeillaan nyt kirjoittaa sama käyttämällä yksinkertaisia if-avainsanoja ilman ketjutusta:
main.cs
123456789101112131415161718192021222324252627using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { int value = 10; if(value > 5) { Console.WriteLine("Value is bigger than 5"); } if(value > 7) { Console.WriteLine("Value is bigger than 7"); } if(value > 9) { Console.WriteLine("Value is bigger than 9"); } } } }
Yllä olevassa tapauksessa jokainen ehto arvioidaan erikseen eikä niitä käsitellä ketjuna, joten kaikki kolme lausetta tulostetaan.
Voimme myös lisätä else-avainsanan if-else-ketjun loppuun, jolloin se suoritetaan, jos mikään ehto ei täyty:
main.cs
1234567891011121314151617181920212223242526using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { int value_1 = 9; int value_2 = 7; if(value_1 < value_2) { Console.WriteLine("Value 1 is smaller than Value 2"); } else if(value_1 > value_2) { Console.WriteLine("Value 1 is bigger than Value 2"); } else { Console.WriteLine("Value 1 is equal to Value 2"); } } } }
Kiitos palautteestasi!