Switch Case Yapısı
C# dilinde Switch-Case yapısı, birden fazla koşulu kontrol etmek için kullanılan bir karar yapısıdır. If-Else
yapısına alternatif olarak kullanılan Switch-Case
, özellikle çok sayıda durumu kontrol etmek gerektiğinde kodun daha okunabilir ve düzenli olmasını sağlar.
Switch-Case Yapısının Kullanımı
Switch-Case, bir değişkenin değerine göre farklı durumlar için belirli kod bloklarını çalıştırır. Eğer hiçbir case
durumu sağlanmazsa, isteğe bağlı olarak bir default
bloğu devreye girer.
Söz Dizimi
switch (ifade) { case değer1: // değer1 sağlanırsa çalışacak kod break; case değer2: // değer2 sağlanırsa çalışacak kod break; ... default: // Hiçbir case sağlanmazsa çalışacak kod break; }
Örnekler
1. Gün İsimleri
Girilen bir sayıya göre haftanın gün ismini bulan program:
using System; class Program { static void Main() { Console.Write("Bir sayı girin (1-7): "); int gun = Convert.ToInt32(Console.ReadLine()); switch (gun) { case 1: Console.WriteLine("Pazartesi"); break; case 2: Console.WriteLine("Salı"); break; case 3: Console.WriteLine("Çarşamba"); break; case 4: Console.WriteLine("Perşembe"); break; case 5: Console.WriteLine("Cuma"); break; case 6: Console.WriteLine("Cumartesi"); break; case 7: Console.WriteLine("Pazar"); break; default: Console.WriteLine("Geçersiz bir sayı girdiniz."); break; } } }
2. Basit Hesap Makinesi
Girilen işlemi kontrol ederek toplama, çıkarma, çarpma veya bölme yapan program:
using System; class Program { static void Main() { Console.Write("Birinci sayıyı girin: "); double sayi1 = Convert.ToDouble(Console.ReadLine()); Console.Write("İkinci sayıyı girin: "); double sayi2 = Convert.ToDouble(Console.ReadLine()); Console.Write("Bir işlem seçin (+, -, *, /): "); char islem = Convert.ToChar(Console.ReadLine()); switch (islem) { case '+': Console.WriteLine("Sonuç: " + (sayi1 + sayi2)); break; case '-': Console.WriteLine("Sonuç: " + (sayi1 - sayi2)); break; case '*': Console.WriteLine("Sonuç: " + (sayi1 * sayi2)); break; case '/': if (sayi2 != 0) { Console.WriteLine("Sonuç: " + (sayi1 / sayi2)); } else { Console.WriteLine("Bir sayı sıfıra bölünemez."); } break; default: Console.WriteLine("Geçersiz bir işlem seçtiniz."); break; } } }
Switch-Case ile İlgili Dikkat Edilmesi Gerekenler
- Her
case
bloğunun sonundabreak
ifadesi bulunmalıdır. Aksi takdirde program, bir sonraki case bloğunu da çalıştırır. default
bloğu isteğe bağlıdır ancak hiçbir case durumu sağlanmadığında çalıştırılacak bir kod yazmak için kullanışlıdır.- Switch-Case yapısı, sadece sabit değerler (sayılar, karakterler vb.) ile çalışır. Mantıksal koşullar için uygun değildir.
Sonuç
Switch-Case yapısı, birden fazla durumu kontrol etmek için kullanışlı bir yapı sunar. Bu yapı, If-Else ifadelerine kıyasla daha düzenli ve okunabilir bir kod yazmanızı sağlar. Özellikle çoklu durumların olduğu projelerde Switch-Case ile kodlarınızı daha etkili bir şekilde organize edebilirsiniz.