switch(lauseke)
{
case arvo1:
// suoritetaan jos lausekkeen arvo on arvo1
break;
case arvo2:
// suoritetaan jos lausekkeen arvo on arvo2
break;
case arvo3:
case arvo4:
// suoritetaan jos lausekkeen arvo on arvo3 tai arvo4
break;
default:
// suoritetaan jos mikään case ei osunut kohdalle
break;
}
Case-kohtia voi olla yhtä monta kuin mitä lauseke saa arvoja. Useamman case:n saa suorittamaan saman koodin laittamalla ne peräkkäin (kuten esimerkin arvo3 ja arvo4) ja laittamalla koodin vain viimeiseen kohtaan. Kunkin kohdan suoritus päättyy johonkin lauseista: break (poistutaan switch-lauseesta), goto (hypätään toiseen kohtaan, esim goto case 1;), return (poistutaan metodista) tai throw (heitetään poikkeus).
Seuraava koodi laskee kuinka paljon rahaa jäätelöautomaattiin tarvitsee laittaa eri pallomäärillä.
int palloja;
Console.Write("Kuinka monta jäätelöpalloa laitetaan (1-3): ");
palloja = int.Parse(Console.ReadLine());
decimal hinta = 0m;
switch (palloja)
{
case 1:
hinta += 2.0m;
break;
case 2:
hinta += 1.0m;
goto case 1;
case 3:
hinta += 0.5m;
goto case 2;
default:
throw new Exception("Kone ei voi tehdä pallottomia eikä yli kolmen pallon annoksia");
}
Console.WriteLine("Syötä koneeseen {0:0.00} euroa", hinta);