? operatöründen sonraki ilk
kısım koşul doğru olduğunda çalışacak kısımdır. 2. kısım ise koşul yanlış
olduğunda çalışır. Hiçbir zaman ifadenin true ve false bölümleri aynı anda
çalışmaz. İfade ya doğru ya yanlıştır.
IF-ELSE-ELSE IF
if (koşul) ifade; ifade kısmı ancak koşul doğru ise çalışır. Aşağıdaki kodda koşul doğru olduğu için ifade çalışacaktır.
string name = "Gökalp";
name = name.Length == 6 ? name + "Soyad" : name + "Soyad";
Console.WriteLine(name);
IF-ELSE-ELSE IF
if (koşul) ifade; ifade kısmı ancak koşul doğru ise çalışır. Aşağıdaki kodda koşul doğru olduğu için ifade çalışacaktır.
string name = "Gökalp";
if (name.Length == 6) Console.WriteLine("adım gökalp");
Eğer koşul kısmı yanlışsa ve bu
durumda çalışmasını istediğimiz başka bir ifade varsa bunu else ile kodlayabiliyoruz. Kullanım kalıbı:
if (koşul)
TrueIfade;
else
FalseIfade;
Aşağıda “Gökalp” ismi 7 karakter
uzunluğunda olmadığı için if’in yanındaki ifade çalışmaz, else’in yanındaki
ifade çalışır.
string name = "Gökalp";
if (name.Length == 7)
Console.WriteLine("adım gökalp");
else
Console.WriteLine("adımdaki harf sayısı 7 değil");
if ve else ifadeleri için scope { } açılabilir. Scope açtıktan sonra istediğimiz kadar satır kullanabiliriz. Açmazsak if’in içine tek satır kod yazma hakkımız vardır.Akışı kontrol ederken iç içe if kontrolleri de yapmak mümkündür.
string name1 = "ali";
string name2 = "bob";
if (name1.Length == name2.Length && name1.IndexOf('l') == name2.IndexOf('o'))
{
Console.WriteLine("Aradığınız kriterler uygundur.");
if (name1.ToUpper() == "ALİ")
{
Console.WriteLine("Türkçe karakter seti kullanıyorsunuz");
}
else if (name1.ToUpper() = "ALI") //eğer if ifadesi geçerli değilse else if de ifadeleri kontrol edebilir.
{
Console.WriteLine("Türkçe karakter seti kullanmıyorsunuz");
}
else
{
Console.WriteLine("Değişik bir karakter seti!");
}
}
else if çalışma mantığıif(1.koşul)
1.ifade;
else if (2.koşul)
2.ifade;
.
.
.
else if(n’inci koşul)
n’inci ifade;
else
else ifadesi(üstteki koşulların hiçbiri uygun değilse)
if ve else if ifadeleri mutlaka birlikte kullanılır. Else if ile akış kontrolüne başlanamaz. Else ifadesini kullanmak zorunlu değildir. Negatif durumda herhangi bir şey çalıştırmak istemeyebiliriz. Else if ler içinde bir koşul sağlandığında diğer else if’ler içindeki koşullara bakılmaz. Sadece ilk koşulu sağlayan ifadenin scope’u çalışır.
SWITCH-CASE
Switch ifadesi satırında test edilecek ifade,
bu ifadenin karşılığı her case
satırında alabileceği değerler şeklinde bulunur. default ifadesi ise, else ifadesi gibi hiçbir test değerine uymayan
durumları yakalamak için kullanılır. Zorunlu değildir. Kullanım kalıbı
aşağıdaki gibidir:
switch(test edilecek ifade)
{
case değer1;
ifade 1;
break;
case değer2;
ifade 2;
break;
.
.
.
default:
ifade n;
break;
}
Switch, if-else if-else
yapısından bir noktada farklılık gösterir. Burada bir scope çalıştıktan sonra diğer scope’lar
kontrol edilmeye devam eder. Yukarıda gördüğümüz break; ifadeleri bir case
kontrolünden sonra testin doğruluğunu sağlayıp içindeki ifade çalıştıktan sonra
switch’ten çıkmak için kullanılır. Eğer break kullanmazsak teste ilk uyan case
ifadesi çalışır, sonrasında switch’den çıkılmaz ve bunun altındaki diğer case
ifadedeleri çalışmaya devam eder.
Switch-Case yapısında herhangi bir Case'den sonra : yanına hiçbir kod yazılmamışsa o durum sağlanırsa altındaki Case'in kod satırı çalışacaktır.
Hiç yorum yok:
Yorum Gönder