Ana Sayfa Hakkımda Dersler Blog Mikrofonda İletişim Projeler
Dersler TEMEL · C#

C# Temelleri — If / Else

7 dk okuma · Emre Ulutabak
1
Karar yapısı nedir?

Hayatta sürekli karar verirsin. Hava yağmurluysa şemsiye alırsın. Açsan yemek yersin. Geç kaldıysan daha hızlı hazırlanırsın.

Yazılımda da aynı mantık vardır. Program bazı durumlara bakar ve ona göre farklı davranır. İşte bu yapıya karar yapısı denir.

csharp
bool yagmurYagiyor = true;

if (yagmurYagiyor)
{
    Console.WriteLine("Şemsiyeni al.");
}
💡
If bloğu, 'eğer bu koşul doğruysa bunu yap' demektir.
2
Neden gerekli?

Karar yapıları olmadan programlar herkese, her durumda aynı tepkiyi verirdi. Bu da yazılımı kör ve cansız hale getirirdi.

Bir giriş ekranı düşün: şifre doğruysa içeri almalı, yanlışsa hata vermeli. İşte bu farkı yaratan şey if / else mantığıdır.

3
If / Else mantığı

if kısmı koşul doğruysa çalışır. else kısmı ise koşul yanlışsa devreye girer.

Bunu kapı örneğiyle düşün: kartın geçerliyse kapı açılır, değilse kapı kapalı kalır.

csharp
int yas = 17;

if (yas >= 18)
{
    Console.WriteLine("Giriş yapabilirsiniz.");
}
else
{
    Console.WriteLine("Giriş yapamazsınız.");
}
💡
Program her zaman iki yoldan birini seçer: koşul doğruysa if, yanlışsa else.
4
Else if kullanımı

Bazen iki seçenek yetmez. Not sistemini düşün: 90 üstü A, 70 üstü B, 50 üstü C gibi farklı durumlar olabilir.

Böyle durumlarda else if kullanılır. Böylece program birden fazla ihtimali sırayla kontrol eder.

csharp
int not = 78;

if (not >= 90)
{
    Console.WriteLine("A");
}
else if (not >= 70)
{
    Console.WriteLine("B");
}
else if (not >= 50)
{
    Console.WriteLine("C");
}
else
{
    Console.WriteLine("Kaldı");
}
💡
Else if bloklarında ilk doğru olan koşul çalışır; alttakilere artık bakılmaz.
5
Altın kurallar

Karar yapıları basit görünür ama temiz yazılmazsa kodu çabuk karmaşıklaştırır. Bu yüzden bazı temel kuralları erken öğrenmek çok faydalıdır:

💡
Koşulları mümkün olduğunca açık yaz. Okuyan kişi neyi kontrol ettiğini hemen anlamalı.
💡
Çok fazla iç içe if kullanıyorsan mantığı sadeleştirmeyi düşün.
💡
Koşul adlarında ve değişken isimlerinde belirsizlik bırakma. isLoggedIn, hasAccess gibi isimler daha okunur olur.
MİNİ QUIZ
Aşağıdakilerden hangisi doğrudur?
else bloğu koşul doğruysa çalışır
if sadece sayılarla kullanılabilir
else if birden fazla ihtimali sırayla kontrol etmek için kullanılır
Bir if bloğunda süslü parantez kullanılamaz