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

bookSwitch-lausunto

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

switch-lauseen syntaksi on seuraava:

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äättymistä.

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 näytetään vastaava tuloste.

Sama koodi voidaan kirjoittaa myös if-else-lauseilla; tässä tapauksessa switch-lause on kuitenkin tehokkaampi ja selkeämpi. Aina kun meidän täytyy verrata lausekkeen tulosta useaan mahdolliseen arvoon, käytämme 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

Suggested prompts:

Can you show me an example using the switch statement?

What happens if I forget to use the break statement in a case?

When should I use a switch statement instead of if-else?

Awesome!

Completion rate improved to 1.59

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:

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äättymistä.

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 näytetään vastaava tuloste.

Sama koodi voidaan kirjoittaa myös if-else-lauseilla; tässä tapauksessa switch-lause on kuitenkin tehokkaampi ja selkeämpi. Aina kun meidän täytyy verrata lausekkeen tulosta useaan mahdolliseen arvoon, käytämme 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