Switch-Case deyimi de If-Else deyimleri gibi karar kontrol mekanizmalarında kullanılmaktadır. Switch-Case deyimi genellikle karmaşık if-else bloklarının yerine, daha okunabilir oldukları için tercih edilmektedir. Switch-Case ile yapabileceğimiz karşılaştırmaları if-else ile de yapabiliriz. Switch-Case yapısı şu şekilde çalışır; bir deyimin değeri, sabitlerden oluşan bir listede peş peşe test edilir. Deyimin değeri sabitlerden birisiyle eşleşince, bu eşleşmeyle ilgili işlemler gerçekleştirilir.
switch(ifade) { case 1: Yapılacak işlemler; case 2: Yapılacak işlemler; break; case 3: Yapılacak işlemler; break; default: Yapılacak işlemler; break; }
//Klavyeden girilen 1-12 arasındaki sayı değerine göre o sıradaki ayın ismini veren programı yazınız byte ay; Console.Write("1-12 arasında bir sayı giriniz:"); ay = Convert.ToByte(Console.ReadLine()); switch (ay) { case 1: Console.WriteLine("{0}.ay OCAK ayıdır.", ay); break; case 2: Console.WriteLine("{0}.ay ŞUBAT ayıdır.", ay); break; case 3: Console.WriteLine("{0}.ay MART ayıdır.", ay); break; case 4: Console.WriteLine("{0}.ay NİSAN ayıdır.", ay); break; case 5: Console.WriteLine("{0}.ay MAYIS ayıdır.", ay); break; case 6: Console.WriteLine("{0}.ay HAZİRAN ayıdır.", ay); break; case 7: Console.WriteLine("{0}.ay TEMMUZ ayıdır.", ay); break; case 8: Console.WriteLine("{0}.ay AĞUSTOS ayıdır.", ay); break; case 9: Console.WriteLine("{0}.ay EYLÜL ayıdır.", ay); break; case 10: Console.WriteLine("{0}.ay EKİM ayıdır.", ay); break; case 11: Console.WriteLine("{0}.ay KASIM ayıdır.", ay); break; case 12: Console.WriteLine("{0}.ay ARALIK ayıdır.", ay); break; default: Console.WriteLine("Girmiş olduğunuz değer 1-12 arasında değildir."); break; }
//Bilgisayarımızın tarih bilgisini alarak hangi günde olduğumuzu switch-case bloğu ile bulalım. int gun = (int)DateTime.Now.DayOfWeek; switch (gun) { case 1: Console.Write("Bugün Pazartesi"); break; case 2: Console.Write("Bugün Salı"); break; case 3: Console.Write("Bugün Çarşamba"); break; case 4: Console.Write("Bugün Perşembe"); break; case 5: Console.Write("Bugün Cuma"); break; case 6: Console.Write("Bugün Cumartesi"); break; case 7: Console.Write("Bugün Pazar"); break; }
//Kullanıcıya kaçıncı ayda olduğunu sorarak, hangi mevsimde bulunduğunu gösteren program. Console.Write("Kaçıncı ayda olduğunuzu girin:"); int ay = Convert.ToInt32(Console.ReadLine()); switch (ay) { case 12: case 1: case 2: Console.Write("Kış mevsimi"); break; case 3: case 4: case 5: Console.Write("İlkbahar mevsimi"); break; case 6: case 7: case 8: Console.Write("Yaz mevsimi"); break; case 9: case 10: case 11: Console.Write("Sonbahar mevsimi"); break; default: Console.Write("Ay bilgisini yanlış girdiniz."); break; }
int sayi; Console.Write("1-7 arasında bir sayı giriniz: "); sayi=Convert.ToInt16(Console.ReadLine());// klavyeden girilen deger okunarak int tipine cevriliyor switch (sayi) // switch deyimi ile sayi degiskeninin aldığı degere göre case koşulları karşılaştırılacak { case 1: Console.Write("Pazartesi"); break; // sayi değişkeninin değeri 1 ise bu satır çalışacaktır case 2: Console.Write("Salı"); break; // sayi değişkeninin değeri 2 ise bu satır çalışacaktır case 3: Console.Write("Çarşamba"); break; // sayi değişkeninin değeri 3 ise bu satır çalışacaktır case 4: Console.Write("Perşembe"); break; // sayi değişkeninin değeri 4 ise bu satır çalışacaktır case 5: Console.Write("Cuma"); break; // sayi değişkeninin değeri 5 ise bu satır çalışacaktır case 6: Console.Write("Cumartesi"); break; // sayi değişkeninin değeri 6 ise bu satır çalışacaktır case 7: Console.Write("Pazar"); break; // sayi değişkeninin değeri 7 ise bu satır çalışacaktır default: Console.Write("Hatalı Giriş"); break; // sayi değişkeninin değeri hiç bir case koşuluna uymaz ise bu satır çalışacaktır } Console.ReadKey();
//Klavyeden giriş yapılan mevsim adına göre o mevsimde yer alan ayları ekrana yazdıran c# console uygulaması string mevsim; Console.Write("Bir mevsim adı giriniz : "); mevsim=Console.ReadLine(); switch (mevsim) { case "ilkbahar": Console.Write("Mart Nisan Mayıs"); break; case "yaz": Console.Write("Haziran Temmuz Ağustos"); break; case "sonbahar": Console.Write("Eylül Ekim Kasım"); break; case "kış": Console.Write("Aralık Ocak Şubat"); break; default: Console.Write("Mevsim adı hatalı"); break; } Console.ReadKey();
//Yapılan seçime göre uygun işlemlerin yapılmasını sağlayan c# console uygulaması string secim; Console.WriteLine("Toplama [+]"); Console.WriteLine("Çıkarma [-]"); Console.WriteLine("Çarpma [*]"); Console.WriteLine("Bölme [/]"); Console.Write("Seçiminiz : "); secim=Console.ReadLine(); switch (secim) { case "+": Console.Write("Toplama işlemi seçildi"); break; case "-": Console.Write("Çıkarma işlemi seçildi"); break; case "*": Console.Write("Çarpma işlemi seçildi"); break; case "/": Console.Write("Bölme işlemi seçildi"); break; default: Console.Write("Geçersiz işlem"); break; } Console.ReadKey();