C# Switch-Case

C# programlama dilinde switch-case ifdesi if-else ifadesi ile aynı işlemi yapmaktadır. Yani switch-case ifadesi if-else ifadesi gibi akış denetimini kontrol etmektedir.

C# programlama dilinde switch-case komutu if ile yapılacak işlemlerin karışık olduğu durumlarda daha sade ve anlaşılır bir kod yapısı oluşturmak için kullanılmaktadır. 

Switch-case komutunda :

  • switch :  switch ifadesine koşul için gerekli olan değişken girilir.
  • case : case ifadesi durumları kontrol etmek için kullanılır ve karşılaşılacak durumlar girilir
  • break : Break komutu döngüyü kırmak için yani döngüden çıkmak için kullanılır.
  • default : Default ifadesi durumlardan herhangi biri yok ise yapılacak işlemler

Switch-case komutu program akışında verilen şarta uygun değer olup olmadığına bakar ve buna göre işlem yapmaktadır. Eğer uygun değer yok ise kendi içerisinde bulunan default değerini aktif eder ve oradaki komutları devreye sokar.

Bilgi: İf-else komutu ile yapılan işlemlerin hepsi switch-case komutu ile yapılamamaktadır. Fakat switch-case ile yapılan işlemlerin hepsini if-else komutu ile yapabilirsiniz.

C# Switch-Case Kullanımı

switch(koşul)

{

case deger1:   Değer Bire Göre Yapılacak işlemler;    break;

case deger2:   Değer İkiye Göre Yapılacak işlemler;    break;

case deger3:   Değer Üçe Göre Yapılacak işlemler;    break;

case deger4:   Değer Dörde Göre Yapılacak işlemler;    break;
.

.

.

default:    Verilen Koşul Hiç Bir Değere Uymadığında Yapılacak işlemler;     break;

}

 

Switch-Case Komutunun Çalışması

  • İlk olarak switch komutunun içindeki koşul alınır ve switch-case ifadesinin içine girilir.
  • Program akışında verilen case içindeki değerlere bakılır.
  • Verilen koşul ile case içindeki değer eşleşiyorsa, eşleşen case içindeki işlemler yapılır.
  • İşlem yapıldıysa break komutu ile işlem kırılır ve switch-case den çıkılır.
  • Eğer switch komutunda verilen koşul hiçbir case değerinde yok ise default komutu çalıştırılır ve döngüden çıkılır.

 

C# Switch Case Örnekleri :

Örnek 1:

Klavyeden girilen sayının hangi güne ait olduğunu bulan program.

Console.WriteLine("Lütfen bir sayı giriniz");
int sayi = Int32.Parse(Console.ReadLine());

switch (sayi)
{

 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("Hata Böyle bir gün yok"); break;
}

Console.ReadLine();

 

Örnek 2:

Klavyeden girilen sayının hangi aya ait olduğunu bulan C# programını Switch-case kullanarak yazın

Console.WriteLine("Lütfen bir sayı giriniz");
            int sayi = Int32.Parse(Console.ReadLine());

            switch (sayi)
            {

                case 1: Console.WriteLine("Ocak"); break;
                case 2: Console.WriteLine("Şubat"); break;
                case 3: Console.WriteLine("Mart"); break;
                case 4: Console.WriteLine("Nisan"); break;
                case 5: Console.WriteLine("Mayıs"); break;
                case 6: Console.WriteLine("Haziran"); break;
                case 7: Console.WriteLine("Temmuz"); break;
                case 8: Console.WriteLine("Ağustos"); break;
                case 9: Console.WriteLine("Eylül"); break;
                case 10: Console.WriteLine("Ekim"); break;
                case 11: Console.WriteLine("Kasım"); break;
                case 12: Console.WriteLine("Aralık"); break;

                default: Console.WriteLine("Hata Böyle bir ay yok"); break;
            }

            Console.ReadLine();

 

Örnek 3:

Kullanıcının girdiği iki sayı ve yapılacak işlem türleri (toplama=1, çıkarma=2, çarpma=3, bölme=4) gösterilen ve  seçilen işlemi yapan C# programını  switch-case ile yazın.

Console.WriteLine("Lütfen 1. sayıyı giriniz");
            int sayi1 = Int32.Parse(Console.ReadLine());

            Console.WriteLine("Lütfen 2. sayıyı giriniz");
            int sayi2 = Int32.Parse(Console.ReadLine());

            Console.WriteLine("Lütfen işlem türünü giriniz");
            Console.WriteLine("toplama=1, çıkarma=2, çarpma=3, bölme=4");
            int islem = Int32.Parse(Console.ReadLine());

            switch (islem)
            {
                case 1: Console.WriteLine(sayi1 + sayi2); break;
                case 2: Console.WriteLine(sayi1 - sayi2); break;
                case 3: Console.WriteLine(sayi1 * sayi2); break;
                case 4: Console.WriteLine(sayi1 / sayi2); break;

                default: Console.WriteLine("Hata böyle bir işlem bulunamadı"); break;
            }

            Console.ReadLine();

 

Örnek 4:

Klavyeden girilen günün hafta içi veya haftasonu olduğunu bulan C# programını switch-case ile yazın

Console.WriteLine("Lütfen bir gün giriniz");
            string gun = Console.ReadLine();

            switch (gun)
            {

                case "pazartesi": Console.WriteLine("Hafta içi"); break;
                case "salı": Console.WriteLine("Hafta içi"); break;
                case "çarşamba": Console.WriteLine("Hafta içi"); break;
                case "perşembe": Console.WriteLine("Hafta içi"); break;
                case "cuma": Console.WriteLine("Hafta içi"); break;
                case "cumartesi": Console.WriteLine("Hafta sonu"); break;
                case "pazar": Console.WriteLine("Hafta sonu"); break;
                default: Console.WriteLine("Böyle bir gün yok! hafta içi veya hafta sonu olduğu bulunamaz"); break;
            }

            Console.ReadLine();

 

Örnek 5:

Klavyeden girilen ayın hangi mevsime ait olduğunu bulan C# programı

Console.WriteLine("Lütfen ayı giriniz");
            string ay = Console.ReadLine();

            switch (ay)
            {
                case "ocak": Console.WriteLine("Kış"); break;
                case "şubat": Console.WriteLine("Kış"); break;
                case "mart": Console.WriteLine("İlkbahar"); break;
                case "nisan": Console.WriteLine("İlkbahar"); break;
                case "mayıs": Console.WriteLine("İlkbahar"); break;
                case "haziran": Console.WriteLine("Yaz"); break;
                case "temmuz": Console.WriteLine("Yaz"); break;
                case "ağustos": Console.WriteLine("Yaz"); break;
                case "eylül": Console.WriteLine("Sonbahar"); break;
                case "ekim": Console.WriteLine("Sonbahar"); break;
                case "kasım": Console.WriteLine("Sonbahar"); break;
                case "aralık": Console.WriteLine("Kış"); break;
                default: Console.WriteLine("Böyle bir ay yok");
                    break;
            }

            Console.ReadLine();

 

Örnek 6:

Klavyeden girilen mevsimin hangi aylarda olduğunu bulan C# programını switch-case ile yazın.( Kış : Aralık,Ocak,Şubat)

Console.WriteLine("Lütfen mevsimi giriniz");
            string mevsim = Console.ReadLine();

            switch (mevsim)
            {
                case "kış": Console.WriteLine("Aralık, Ocak, Şubat"); break;
                case "ilkbahar": Console.WriteLine("Mart, Nisan, Mayıs"); break;
                case "yaz": Console.WriteLine("Haziran, Temmuz, Ağustos"); break;
                case "sonbahar": Console.WriteLine("Eylül, Ekim, Kasım"); break;

                default: Console.WriteLine("Böyle bir mevsim yok");  break;
            }
                
                Console.ReadLine();

 

Örnek 7:

Trafik lamba renklerine göre hangi işlemlerin yapılacağını söyleyen C# programını Switch-case ile  yazın. ( Kırmızı : Dur   Sarı : Hazır ol   Yeşil: İlerle)

 Console.WriteLine("Lütfen trafik lambası rengini giriniz");
            string renk = Console.ReadLine();

            switch (renk)
            {
                case "kırmızı": Console.WriteLine("Dur"); break;
                case "sarı": Console.WriteLine("Hazır Ol"); break;
                case "yeşil": Console.WriteLine("İlerle"); break;

                default: Console.WriteLine("Böyle bir trafik rengi yok"); break;
            }

            Console.ReadLine();