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!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme