Switch Case

Her durum etiketi sabit bir değer belirtir. "switch" deyimi, denetimi "case" etiketi switch ifadesiyle eşleşen switch bölümüne aktarır. Hiçbir durum etiketi eşleşen bir değer içermiyorsa,  default bölümüne aktarılır. default bölümü yoksa bir eylem yapılmaz ve denetim switch dışına aktarılır. 
Bir switch deyimi herhangi bir sayıda anahtar bölüm içerebilir ve her bir bölüm bir ya da daha fazla durum etiketi içerebilir. Ancak, iki durum etiketi aynı sabit değeri içeremez.
Seçilen switch bölümündeki ifade listesinin yürütülmesi ilk deyimden başlar ve deyim listesi boyunca, genellikle breakgoto casereturn ya da throw gibi bir atlama deyimine ulaşılıncaya kadar devam eder. Bu noktada denetim switch deyimi dışında veya başka bir durum etiketine aktarılır.


double sayi1 = 0, sayi2 = 0, sonuc = 0;
string islem = "";

Console.Write("1.Sayı:");
sayi1 = Convert.ToDouble(Console.ReadLine());

Console.Write("2.Sayı:");
sayi2 = Convert.ToDouble(Console.ReadLine());

Console.Write("Yapmak İstediğiniz işlem(+,-,*,/):");
islem = Console.ReadLine();

switch (islem)
{
    case "+":
        sonuc = sayi1 + sayi2;
        break;
    case "-":
        sonuc = sayi1 - sayi2;
        break;
    case "/":
        sonuc = sayi1 / sayi2;
        break;
    case "*":
        sonuc = sayi1 * sayi2;
        break;
    default:
        Console.WriteLine("HATALI İŞLEM GİRDİNİZ.");
        break;
}

Console.WriteLine("İşlem Sonucu={0}",sonuc);
Console.ReadKey();