Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Switch-lausunto | Ohjausrakenteet
Practice
Projects
Quizzes & Challenges
Quizzes
Challenges
/
C# Perusteet

bookSwitch-lausunto

switch-lause toimii samalla tavalla kuin ehtolauseet, mutta se on hyödyllinen tietyissä tilanteissa.

switch-lauseen syntaksi on seuraava:

main.cs

main.cs

copy
12345678910111213141516
switch(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

main.cs

copy
1234567891011121314151617181920212223242526272829303132333435
using 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?

question mark

Mikä on switch-lauseen ensisijainen tarkoitus ohjelmoinnissa?

Select the correct answer

question mark

Annetussa C#-esimerkissä, mikä on tuloste, jos muuttujan score arvo on 3?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 3. Luku 11

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

bookSwitch-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

main.cs

copy
12345678910111213141516
switch(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

main.cs

copy
1234567891011121314151617181920212223242526272829303132333435
using 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?

question mark

Mikä on switch-lauseen ensisijainen tarkoitus ohjelmoinnissa?

Select the correct answer

question mark

Annetussa C#-esimerkissä, mikä on tuloste, jos muuttujan score arvo on 3?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 3. Luku 11
some-alt