C# Eğitimlerimize Switch Case konumuzla devam ediyoruz.

Daha önce karar yapılarından bahsederken bu işleri çözmek için If Else yapısının kullanıldığını söylemiştim.

Switch – Case yapısıda karar yapıları için kullanılabilen bir diğer yöntemdir. 

If Else ile yapılabilen her şey Switch – Case ile yapılabilir.

Neden Switch Case?

Çünkü if else gibi dallanarak kod kalabalığı oluşturmaz. Kod kalabalığını ve dallanmayı ortadan kaldırdığı içinde kod okunurluğunu artırır. Bu sebeplerden dolayı Switch – Case yapısı kullanımı tercih edilebilir.

Genel Yapı

[php]

switch(Değişken İsmi)

{

case değer1: Kodlar; break;

case değer2: Kodlar; break;

.

.

.

case değern: Kodlar; break;

default: Kodlar; break;

}

[/php]

switch case genel yapısı bu şekildedir.

DipNot: Bir programcı alışkanlığı olarak daha kolay okunurluk için aşağıdaki şekliyle kullanmayı tavsiye ediyorum.

[php]

switch(Değişken İsmi)

{

case değer1:
{
Kodlar;
break;
}
case değer2:
{
Kodlar;
break;
}

.

.

.

case değern:
{
Kodlar;
break;
}
default:
{
Kodlar;
break;
}

}

[/php]

 

Bu kullanımı zaten Case ifadesi içinde işleyeceğiniz break hariç 1 den fazla kod varsa bu scooplar arasına almanız gerekir tüm kodları işleyebilmesi için.

Yapının Açıklaması

Öncelikle bir değişken switch tanımı içine verilir.

switch blogu bu değeri alır ve işler.

Aşağıdaki caseler programcı tarafından öngörülen tüm durumların ifadesidir.

Değişkenden gelebilecek tüm değerlerin sonuçları caseler ile yazılır.

Gelen değer hangi case’in durumu ile eşleşirse o case’in kodları gerçeklenir.

Break komutu tüm switch case yapısının sonlanmasını sağlar. Kullanılması zorunludur. Kullanmadığınızda hata alırsınız.

Bu şu demektir. Örneğin 10 adımdan oluşan bir case yapımız var. Gelen değer ilk case de gerçeklendiyse diğer 9 durum kontrol edilmez. Zaten onlara eşit olma ihtimali yoktur.

Default kısmı bizim öngöremediğimiz herhangi bir değer girilirse defaul kodları çalışır. Sadece öngöremediğimiz demek doğru olmaz genellikle öngördüğümüz ama hata dönmemesi için kontrol blogu olarak kullandığımız yerdir.

Mesela 12 ayın ismini girilen sayı değerine göre kullanıcıya gösteriyoruz. Sayı aralığımız belli. 1 – 12. Bu aralık dışında girilecek her değer için default koduna gitmesini ve orada gerekli mesajı verdirmeyi sağlayabiliriz.

Önemli Not: Değişkenin veri tipine göre case’in yanına yazılacak değerin yazım şekli farklılaşır. 

Örneğin bir string değer geliyorsa

case “değer”:

şeklinde yazılırken.

int değer geliyorsa

case 1: şeklinde yazılır.

char tipli bir değer geliyorsa.

case ‘d’ olarak yazılacaktır. Bunlara dikkat etmemiz gerekir.

Switch Case yapısı genel anlamda böyleydi bir sonraki yazımda 2 tane örnekle bu durumu daha detaylı anlatıyor olacağım. Görüşmek üzere.