Switch-lausunto
switch-lause toimii samalla tavalla kuin ehtolauseet, mutta se on hyödyllinen tietyissä tilanteissa.
switch-lauseen syntaksi on seuraava:
main.cs
12345678910111213141516switch(expression) { case x: // code block break; case y: // code block break; case z: // code block break; … default: // code block break; }
expression-lausekkeen tulosta verrataan tapauksiin x, y, z ja niin edelleen. Jos tulos vastaa jotakin tapausta, suoritetaan kyseisen tapauksen koodilohko. Jos mikään tapaus ei täsmää, suoritetaan default-koodilohko, jos se on määritelty. expression on useimmiten muuttuja. Kirjoitamme break-avainsanan jokaisen tapauksen koodilohkon jälkeen osoittamaan tapauksen päättymisen.
Seuraavassa on esimerkki:
main.cs
1234567891011121314151617181920212223242526272829303132333435using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { int score = 5; Console.Write("Grade: "); switch(score) { case 1: Console.WriteLine("Fail"); break; case 2: Console.WriteLine("Pass"); break; case 3: Console.WriteLine("Satisfactory"); break; case 4: Console.WriteLine("Good"); break; case 5: Console.WriteLine("Excellent"); break; default: Console.WriteLine("Invalid"); break; } } } }
Voit kokeilla muuttaa muuttujan grade arvoa nähdäksesi muutoksen tulosteessa. grade-arvoa verrataan jokaiseen tapaukseen, ja vastaava tuloste näytetään.
Sama koodi voidaan kirjoittaa myös if-else-lauseilla; kuitenkin tässä tapauksessa switch-lause on tehokkaampi ja selkeämpi. Aina kun täytyy verrata lausekkeen tulosta useaan mahdolliseen arvoon, käytetään switch-lausetta.
1. Mikä on switch-lauseen ensisijainen tarkoitus ohjelmoinnissa?
2. Annetussa C#-esimerkissä, mikä on tuloste, jos muuttujan score arvo on 3?
Kiitos palautteestasi!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme
Mahtavaa!
Completion arvosana parantunut arvoon 1.67
Switch-lausunto
Pyyhkäise näyttääksesi valikon
switch-lause toimii samalla tavalla kuin ehtolauseet, mutta se on hyödyllinen tietyissä tilanteissa.
switch-lauseen syntaksi on seuraava:
main.cs
12345678910111213141516switch(expression) { case x: // code block break; case y: // code block break; case z: // code block break; … default: // code block break; }
expression-lausekkeen tulosta verrataan tapauksiin x, y, z ja niin edelleen. Jos tulos vastaa jotakin tapausta, suoritetaan kyseisen tapauksen koodilohko. Jos mikään tapaus ei täsmää, suoritetaan default-koodilohko, jos se on määritelty. expression on useimmiten muuttuja. Kirjoitamme break-avainsanan jokaisen tapauksen koodilohkon jälkeen osoittamaan tapauksen päättymisen.
Seuraavassa on esimerkki:
main.cs
1234567891011121314151617181920212223242526272829303132333435using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { int score = 5; Console.Write("Grade: "); switch(score) { case 1: Console.WriteLine("Fail"); break; case 2: Console.WriteLine("Pass"); break; case 3: Console.WriteLine("Satisfactory"); break; case 4: Console.WriteLine("Good"); break; case 5: Console.WriteLine("Excellent"); break; default: Console.WriteLine("Invalid"); break; } } } }
Voit kokeilla muuttaa muuttujan grade arvoa nähdäksesi muutoksen tulosteessa. grade-arvoa verrataan jokaiseen tapaukseen, ja vastaava tuloste näytetään.
Sama koodi voidaan kirjoittaa myös if-else-lauseilla; kuitenkin tässä tapauksessa switch-lause on tehokkaampi ja selkeämpi. Aina kun täytyy verrata lausekkeen tulosta useaan mahdolliseen arvoon, käytetään switch-lausetta.
1. Mikä on switch-lauseen ensisijainen tarkoitus ohjelmoinnissa?
2. Annetussa C#-esimerkissä, mikä on tuloste, jos muuttujan score arvo on 3?
Kiitos palautteestasi!