C# Switch Case Kullanımı – Koşul İfadeleri

C# Switch Case Kullanımı – Koşul İfadeleri

6 Mart 2018 0 Yazar: Mustafa BÜKÜLMEZ
Toplam Görüntülenme : 68
Yaklaşık okuma süresi : 14 DK
C# Dizi ve ArrayList Kullanımı
C# Event Kavramı
C# Switch Case Kullanımı – Koşul İfadeleri
İlk Beğenen Sel Ol

C# Switch Case Kullanımı, c sharp programlamada önemli konulardan birisidir. İf else kullandığımız bir çok yerde c sharp switch case kullanımı işimizi görecektir. Ayrıca switch case performans açısından çok fayda sağlayan bir yapıdır. Sağladığı perfomans nedir derseniz şöyle açıklayayım.

C sharp kodları

Diyelim ki yaptığınız bir işlemde 10 farklı sonuç ve bu 10 farklı sonuç için de o farklı işlem yaptırmanız gerekiyor. Kod olarak şöyle örnek vereyim.

            int i = 0;
            /* işlemler */

            if (i == 0) {/* işlemler */}
            else if (i == 1) {/* işlemler */}
            else if (i == 2) {/* işlemler */}
            else if (i == 3) {/* işlemler */}
            else if (i == 4) {/* işlemler */}
            else if (i == 5) {/* işlemler */}
            else if (i == 6) {/* işlemler */}
            else if (i == 7) {/* işlemler */}
            else if (i == 8) {/* işlemler */}
            else if (i == 9) {/* işlemler */}

Bu şekilde olacaktır değil mi?

Şimdi bu şekilde kodlamanın performans açısından bize ne gibi zararı var anlatayım. i değişkenimizin değeri 9  olsun. Kodlar çalışmaya başladığında aynen şu şekilde oluyor.

  1. i = 0 mı? Değil
  2. i = 1 mi? Değil
  3. i = 2 mi? Değil
  4. i = 3 mü? Değil
  5. i = 4 mü? Değil
  6. i = 5 mi? Değil
  7. i = 6 mi? Değil
  8. i = 7 mi? Değil
  9. i = 8 mi? Değil
  10. i = 9 mı? Evet – İşlemleri yap.

Burada tüm şartlar kontrol edildi. Yani bu demek oluyor ki 9 kere fazladan iş yapıldı. 9 kere kontrol edildi, hiçbiri doğru değildi sonuncusu doğruydu ve işlemlerimiz yapıldı. Burada hiç bu kadar uğraşmasa direk 9 a gitse bize performans sağlamaz mıydı? Sağlardı değil mi? İşte c sharp switch case kullanımı bize bunu sağlıyor. Aynı kodları birde switch case ile yazalım.

            switch (i)
            {
                case 0:
                    /* işlemler */
                    break;
                case 1:
                    /* işlemler */
                    break;
                case 2:
                    /* işlemler */
                    break;
                case 3:
                    /* işlemler */
                    break;
                case 4:
                    /* işlemler */
                    break;
                case 5:
                    /* işlemler */
                    break;
                case 6:
                    /* işlemler */
                    break;
                case 7:
                    /* işlemler */
                    break;
                case 8:
                    /* işlemler */
                    break;
                case 9:
                    /* işlemler */
                    break;
            }

yukarıdaki if else nin switch case ile kullanımı da bu şekildedir. Burada i değişkeni atıyorum 9 ise direk case 9 : bloğuna  gidecek ve oradaki işlemleri yapacak. Diğer bloklara hiç uğramayacaktır.

C Sharp Switch Case kullanımında dikkat edilmesi gerekenler

  1. Sadece tek değişken ile çalışırlar. Yani birden fazla koşul veremezsiniz.
  2. Koşul olarak verdiğiniz değişkenin türü ne ise case lerde o türden değer alır.
  3. İf else de olduğu gibi case sınırı yoktur.
  4. Bazı durumlarda otomatik oluşabilirler.(Visual Studio da, KeyDown eventi içerisinde )

switch_statement

Koşul string ise case lerde string olmalıdır. Örnek;

            string s = "mustafa";
            switch (s)
            {
                case "adad":
                    break;
                case "sdfsdg":
                    break;
            }

 

Ayrıca switch case de ekstradan Default adında bir blok daha vardır. İlk örneğimizden yola çıkarak bahsedeyim. i değişkeni için 9’a kadar değer alabilir diye düşündüğümüzden 9’a kadar yazdık. Ya daha farklı bir değer alırsa ne olacak? Koşulların hiçbiri tutmadığı için hiçbir işlem yapılmayacak. Bu durumun önüne geçmek için, ilk örneğimizdeki switch case’e default bloğunu da ekleyelim.

            switch (i)
            {
                case 0:
                    /* işlemler */
                    break;
                case 1:
                    /* işlemler */
                    break;
                case 2:
                    /* işlemler */
                    break;
                case 3:
                    /* işlemler */
                    break;
                case 4:
                    /* işlemler */
                    break;
                case 5:
                    /* işlemler */
                    break;
                case 6:
                    /* işlemler */
                    break;
                case 7:
                    /* işlemler */
                    break;
                case 8:
                    /* işlemler */
                    break;
                case 9:
                    /* işlemler */
                    break;
                default:
                    MessageBox.Show("Beklenmeyen bir değer geldi");
                    break;
            }

Beklemediğimiz bir değer geldiğinde default bloğuna geçecek ve istediğimiz mesajı gösterecektir.


C Sharp Switch Case Kullanımı dersimizde bu kadar dostlar. Diğer derslerimizde görüşmek üzere…

C Sharp Eğitim Seti ve ERP Programlama ders listesi için tıklayınız. 

Takipte ve sağlıcakla kalın. 😉

Liseden, Ağ Sistemleri ve Yönetimi bölümünden mezun oldum. Üniversiteden (2 yıllık), Bilgisayar Programcılığı bölümünden mezun oldum. Şuanda da AÖF, Yönetim Bilişim Sistemleri bölümünde okumaktayım.

Uzmanlık alanlarım; Windows Sistemleri, HTML, CSS, C# ve SQL’dir.

Hobi olarak uğraştığım genel konular, Photoshop, After Affects, Corel Draw’dır.Film, YABANCI dizi, Anime izlemeyi ve Manga okumayı severim. Arkadaşlarımla yürüyüş yapmayı ve grup olarak aktivitelere gitmeyi severim. Geri kalan zamanlarımın tümü bilgisayar karşısında geçer.

C# Dizi ve ArrayList Kullanımı
C# Event Kavramı