C# Karar Yapıları (Kontrol İfadeleri)

Programlamada bazı kod bloklarının sadece belirli koşullar gerçekleştiğinde çalışmasını isteriz. C# dilinde bu mantıksal denetimi sağlamak için If-Else ve Switch-Case yapıları kullanılır.

Mantıksal Operatörler
  • == : Eşittir   |   != : Eşit Değildir
  • && : VE (Her iki koşul da doğru olmalı)
  • || : VEYA (En az bir koşul doğru olmalı)

1) If - Else Yapısı

En temel karar yapısıdır. Bir koşulun doğru (true) olup olmadığını denetler.

C# If-Else Example
int saat = 14;

if (saat < 12) {
    Console.WriteLine("Günaydın!");
} 
else if (saat < 18) {
    Console.WriteLine("İyi Günler!");
} 
else {
    Console.WriteLine("İyi Akşamlar!");
}

2) Switch-Case Yapısı

Bir değişkenin alabileceği çok sayıda spesifik değer varsa, if-else yerine daha okunaklı olan switch yapısı tercih edilir.

C# Switch-Case Example
int gun = 3;

switch (gun) {
    case 1:
        Console.WriteLine("Pazartesi");
        break;
    case 2:
        Console.WriteLine("Salı");
        break;
    case 3:
        Console.WriteLine("Çarşamba");
        break;
    default:
        Console.WriteLine("Geçersiz Gün");
        break;
}
⚠️ Dikkat: switch yapısında her case bloğunun sonunda break; komutunu kullanmak zorunludur. Aksi takdirde C# derleyicisi hata verecektir (JavaScript'ten farklı olarak "fall-through" kuralı daha katıdır).

Kısa Koşul (Ternary Operator)

Basit bir if-else işlemini tek satırda yazmak için kullanılır:

string sonuc = (yas >= 18) ? "Reşit" : "Reşit Değil";

Özet

  • Karar yapıları programın akış yönünü belirler.
  • Karmaşık mantıksal sorgular için && ve || operatörlerinden yararlanılır.
  • switch yapısı sadece eşitlik durumlarını kontrol ederken, if yapısı ile aralık kontrolü (büyüktür, küçüktür) yapılabilir.