C#'da Koşul İfadeleri (If-Else)
27 Mar 2010
Programcılar yeni bir dil öğrenirken ya da ilk defa programcı olacaklar için konuşalım, konuyu öğrenmeye başladıklarında anlatılanlar sıkıcı gelebilir. Ta ki if-else konusu anlatılana kadar, çünkü işin eğlenceli tarafı daha doğrusu sevdiren tarafı bu başlangıçtır bence.
Gelelim If-Else ifadelerine, ingilizceden de anlamına göre eğer ve değilse durumlarına göre iş yaparlar. Hemen hemen her programlama dilinde vardır ve yaptıkları iş aynıdır. C# taki syntax’ını inceleyelim;
Genel Syntax
if ( true ) // -- eğer doğruysa
{
// Yapılacak işler..
}
else // -- değilse
{
// Yapılacak işler..
}
Parantezler arasında verilen şarttan dönen değer true ise if bloğu , dönen şart false ise else bloğu çalışacaktır.
Aynı zamanda her if döngüsünde else bloğu olacak diye bir kaide yoktur.
Örnek 1 :
Console . Write ( "1 sayı giriniz :" ); // Kullanıcıdan bir değer aldım...
int a = int . Parse ( Console . ReadLine ()); // Kullanıcıdan gelen değeri a değişken üzerine aldım.
Console . Write ( "1 sayı daha giriniz :" ); // Kullanıcıdan başka bir değer daha aldım...
int b = int . Parse ( Console . ReadLine ()); // Kullanıcıdan gelen diğer değeri b değişken üzerine aldım.
if ( a > b ) // a’nın b’den büyük olma koşuluna bakıyoruz.
{
Console . WriteLine ( “ a say ı s ı b say ı s ı ndan b ü y ü kt ü r ” );
}
else // a’nın b’den büyük olma koşulu sağlanmadıysa else bloğu çalışacak...
{
Console . WriteLine ( “ a say ı s ı b yi ge ç emedi ..! ” );
}
Örnek 2 :
Console . Write ( “ L ü tfen bir say ı giriniz : ” ); // Kullanıcıdan bir sayı istedik…
int sayi = int . Parse ( Console . ReadLine ()); // burada gelen değeri sayi değişkeni üzerine aldık
if ( sayi % 2 == 0 ) // sayı değerinin 2’ye bölümünden kalan değerin 0’a eşit olma yani çift sayı mı olup olmadığına baktık…
Console . WriteLine ( “ Girmi ş oldu ğ unuz { 0 } say ı s ı ç ifttir ” , sayi ); // if teki değeri true ise ekrana çift ifadesini yazdırdık..
else
Console . WriteLine ( “ Girmi ş oldu ğ unuz { 0 } say ı s ı tektir ” , sayi ); // if teki koşul false ise yani sayi tek ise burasi çalışacak..
Örnek 3 :
Console . Write ( “ L ü tfen bir say ı giriniz : ” );
int sayi = int . Parse ( Console . ReadLine ());
if ( sayi > 100 ) // gelen sayı değerinin 100’den büyük olma durumuna baktık…
Console . WriteLine ( “ { 0 } say ı s ı 100 den b ü y ü kt ü r ” , sayi );
else
Console . WriteLine ( “ { 0 } say ı s ı 100 den k üçü kt ü r ” , sayi );
Örnek 4 :
Console . Write ( “ L ü tfen ad ı n ı z ve soyad ı n ı z ?: ” ); // kullanıcıdan string olarak ad ve soyadını istedik…
string adsoyad = Console . ReadLine ();
// Lenght girilen string karakterin adedini verir…
if ( adsoyad . Length > 15 ) // length ifadesi ile gelen değerin karakter uzunluğunun 15’ten büyük olma durumuna baktık…
Console . WriteLine ( “ Girdi ğ iniz de ğ er 15 karakterden uzun ” );
else
Console . WriteLine ( “ Girdi ğ iniz de ğ er 15 karakterden k ı sa ” );
Örnek 5 :
Console . Write ( “ 1. Notu giriniz : ” );
int vize = int . Parse ( Console . ReadLine ());
Console . Write ( “ 2. Notu giriniz : ” );
int final = int . Parse ( Console . ReadLine ());
int snc = ( vize + final ) / 2 ; // vize ve final değerlerini topladık, böldük ve snc değişkeni üzerine aldık…
if ( snc > 50 ) // snc yani ortalamanın 50’den büyük olma durumuna baktık…
Console . WriteLine ( “ { 0 } ortalama yaparak Ge ç tin …” , snc );
else
Console . WriteLine ( “ { 0 } ortalama yaparak Kald ı n …” , snc );
If Terrior Operatörü Kullanımı
Genel Syntax
(Koşul) ? ŞartDoğruiseYapılacakİşlem : ŞartYanlışiseYapılacak
Örnek 6 :
Console . Write ( “ Bir say ı giriniz : ” );
int gelen = int . Parse ( Console . ReadLine ());
Console . WriteLine ( “ { 0 } say ı s ı { 1 } ” , gelen , gelen % 2 == 0 ? “Ç ifttir ” : “ Tektir ” ); // Tek satırda sayının çift mi tek mi olduğuna baktık, bu daha güzel değil mi? :)
Son örneğimizi de yapalım konuyu iyi anladık sanırım, burada kavramak sorun değil mantığını bilmek yetiyor, çünkü işi yaptıran biziz, böyleyse bu çalışsın değilse çalışmasın ya da başka bir şey çalışsın, diyebiliriz.
Dışardan (kullanıcıdan) kullanıcı adı ve şifre alalım ve bu gelecek değeri aşağıda verdiğim default değerle üzerinden eşitliğine bakalım, eğer doğru ise “giriş başarılı”, değilse “hatalı giriş yaptınız…” desin, buyrun;
Örnek 6 :
// Username:"admin"
// Password:"1234"
Console . Write ( “ Username : ” );
string username = Console . ReadLine ();
Console . Write ( “ Password : ” );
string password = Console . ReadLine ();
if ( username == “ admin ” && password == “ 1234 ” )
{
// && ( ve ) operatörüyle gelen username‘in “admin” ve password’ın “1234” ile eşit olma durumuna baktık…
Console . WriteLine ( “ Giri ş iniz Ba ş ar ı l ı…” );
}
else
{
// iki değerden ya da her ikisi de yanlış olsa bu bölüm çalışacak…
Console . WriteLine ( “ Hatal ı giri ş yapt ı n ı z …” );
}