B 1
berione65
sen272 1
sen272
Mt2Hizmet 1
Mt2Hizmet
C 1
chengdu
xranzei 1
xranzei
zendor2 1
zendor2
Hikaye Ekle
Reklam vermek için turkmmo@gmail.com

Altın Konu switch case Deyimi Nedir ?

  • Konuyu başlatan Konuyu başlatan lHezarfeNl
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 2
  • Görüntüleme Görüntüleme 176

lHezarfeNl

Love Turkmmo
TM Üye
Katılım
26 Ara 2012
Konular
936
Mesajlar
15,646
Çözüm
8
Online süresi
3mo 29d
Reaksiyon Skoru
2,664
Altın Konu
295
Başarım Puanı
327
MmoLira
664
DevLira
0
Ticaret - 100%
5   0   0

ROHAN2 WORLD 1-120 TR TİPİ OFFICIAL YOHARA, BALATHOR VE AMON! 80. GÜNÜNDE! +10.000 ONLİNE! HİLE VE BOT %100 ENGELLİ HEMEN TIKLA!

image.jpg

Programcılıkta yaygın olarak kullanılan koşul ifadelerinden biri de switch-case deyimleridir.

Sadece bir değişkenin durumuna bağlı olarak, o değişkenin aldığı değere göre tek tek if-else blokları yazmak yerine switch-case deyimi kullanılması tercih edilmektedir. Switch-case deyimiyle yapabildiklerimi aynı şekilde if-else kullanarak da yapabiliriz fakat, uzun kod satırları yerine düzenli switch-case blokları kod okunabilirliği için de önemlidir.

Switch-case deyiminin yapısı aşağıdaki gibidir.
Kod:
switch(ifade)
{
  case kontrol1: işlemler1; break;
  case kontrol2: işlemler2; break;
  default : işlemler3; break;
}
Switch-case kullandığımızda da dikkat etmemiz gereken birtakım kurallar vardır.

  • Kontrol alanındaki değerler sabit olmak zorundadır. Herhangi bir değişkeni burada tanımlayamayız. Belirlediğimiz sabit değerler sayı, karakter, metin olabilir.
  • default ve case ifadelerini istediğimiz sırada yazabiliriz. Dikkat etmemiz gereken önemli konu aynı case kontrolünü birden fazla yazamayız.
  • default ifadesi eğer yazdığımız case’lerden hiçbiri verdiğimiz ifade ile eşleşmez ise çalışmaktadır. Eğer ifade yazdığımız case’lerden biriyle eşleşirse default ifadesi çalışmaz.
  • default kontrolünü yazmak zorunda değiliz. Eğer default ifadesi yer almıyorsa hiçbir işlem yapmadan uygulamamız switch bloğundan çıkmaktadır.


Şimdi bir örnek yapalım. Kullanıcıdan tuttuğu takımın kısaltmasını isteyelim. Kullanıcı da tuttuğu takımın kısaltmasını girip sonucu görsün. Bu örnekte şimdiye kadar anlatılanlara ek olarak iki farklı komut da kullanacağız.

-Bunlardan ilki Console.ReadLine() komutu. Bu komut ile kullanıcıdan console ekranında bir giriş yapılması beklenilmektedir. Kullanıcı giriş yapıp enter tuşuna bastığında girdiği veri string olarak alınmaktadır. Bu sebeple kullanıcının girdiği veriyi doğrudan string değişkenine aktarabildik.

-Bir diğer komut ise ToLower() fonksiyonudur. Bu fonksiyon verilen string değerinin içeriğini tamamen küçük karakterlerden oluşan hale getirir.

Yazdığımız senaryoda eğer kullanıcı “GS” girseydi, bizim case ifademizde “gs” yer aldığı için eşleşme yapılamayacaktı. Bu gibi durumları önlemek için kullanıcı değeri girdikten sonra girdiği karakterlerin büyük harf içermesi ihtimaline karşı tamamen küçük harflere dönüştürüyoruz.

Şimdi ilk olarak kullanıcıdan takımın kısaltmasını alalım.
Kod:
string takimKodu = "";
Console.Write("Takım kısaltması: ");
takimKodu = Console.ReadLine();
Artık kullanıcının girdiği kısaltmayı string değişkenimize aldık, fakat yukarıda bahsettiğimiz duruma karşı da önlem almamız gerekmekte. Bunun için de takim kodumuzu her ihtimale karşı küçük harflere dönüştürüyoruz.

Kod:
string takimKodu = "";
Console.Write("Takım kısaltması: ");
takimKodu = Console.ReadLine();
takimKodu = takimKodu.ToLower();
Takım kodunu da switch ile kontrol etmeye hazır hale getirdik. Şimdi switch-case deyimimizle kontrolümüzü sağlayabiliriz.
Kod:
static void Main(string[] args)
        {
            string takimKodu = "";
 
            Console.Write("Takım kısaltması: ");
            takimKodu = Console.ReadLine();
            takimKodu = takimKodu.ToLower();
            
            switch (takimKodu)
            {
                case "gs":
                    Console.WriteLine("Galatasaray");
                    break;
 
                case "fb":
                    Console.WriteLine("Fenerbahçe");
                    break;
 
                case "bjk":
                    Console.WriteLine("Beşiktaş");
                    break;
 
                case "ts":
                    Console.WriteLine("Trabzonspor");
                    break;
 
                case "bur":
                    Console.WriteLine("Bursaspor");
                    break;
                default:
                    Console.WriteLine("Takım bulunamadı!");
                    break;
            }
        }
Uygulamamız çalışıyor artık. Şimdi biraz da kodumuzu okunur hale getirelim.

Yukarıda 3 satır harcadığımız değişken tanımlaması, veri alınması ve verinin ufaltılması işlemlerini tek satıra indirip kodumuzu daha okunur ve düzenli bir hale getirebiliriz. Diğer takımlar içinde case'ler ekleyip takım havuzunu arttırabilirsiniz.
Kod:
static void Main(string[] args)
       {
           Console.Write("Tuttuğunuz takımın kısaltması: ");
           string takimKodu = Console.ReadLine().ToLower();
 
           switch (takimKodu)
           {
               case "gs":
                   Console.WriteLine("Galatasaray");
                   break;
 
               case "fb":
                   Console.WriteLine("Fenerbahçe");
                   break;
 
               case "bjk":
                   Console.WriteLine("Beşiktaş");
                   break;
 
               case "ts":
                   Console.WriteLine("Trabzonspor");
                   break;
 
               case "bur":
                   Console.WriteLine("Bursaspor");
                   break;
               default:
                   Console.WriteLine("Takım bulunamadı!");
                   break;
           }
       }
 
Paylaşım İçin Teşekkürler.
 
Paylaşım için teşekkürler.
 

Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)

Geri
Üst