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

C# Temelleri — Switch Case

7 dk okuma · Emre Ulutabak
1
Switch nedir?

Bazen tek bir değere bakıp birçok ihtimalden birini seçmen gerekir. Örneğin haftanın gün numarasına göre gün adını göstermek isteyebilirsin.

Böyle durumlarda switch yapısı kullanılır. Tek bir değeri alır ve uygun eşleşmeye göre ilgili kodu çalıştırır.

csharp
int gun = 2;

switch (gun)
{
    case 1:
        Console.WriteLine("Pazartesi");
        break;
    case 2:
        Console.WriteLine("Salı");
        break;
}
💡
Switch, tek bir değeri farklı seçeneklerle karşılaştırmak için kullanılır.
2
Neden kullanılır?

Aynı değişken için çok sayıda if / else if yazmak kodu uzatabilir. Özellikle eşitlik bazlı kontrollerde switch daha temiz görünür.

Yani bir değerin hangi seçeneğe denk geldiğini kontrol ediyorsan switch okunabilirliği artırabilir.

3
Case mantığı

Her case, olası bir eşleşmeyi temsil eder. Değer o case ile aynıysa ilgili blok çalışır.

Çoğu klasik kullanımda case sonunda break yazılır. Bu, switch yapısından çıkılmasını sağlar.

csharp
string mevsim = "Yaz";

switch (mevsim)
{
    case "Kış":
        Console.WriteLine("Mont giy.");
        break;
    case "Yaz":
        Console.WriteLine("Tişört giy.");
        break;
}
💡
Eşleşme bulunduğunda ilgili case çalışır ve break ile çıkılır.
4
Default rolü

Bazen hiçbir case eşleşmez. Böyle durumlar için default bloğu vardır.

Default, 'bunların hiçbiri değilse bunu yap' demektir. Güvenlik ağı gibi düşünebilirsin.

csharp
int ay = 15;

switch (ay)
{
    case 1:
        Console.WriteLine("Ocak");
        break;
    case 2:
        Console.WriteLine("Şubat");
        break;
    default:
        Console.WriteLine("Geçersiz ay");
        break;
}
💡
Default kullanmak, beklenmeyen durumlarda daha güvenli davranış sağlar.
5
Altın kurallar

Switch çok temiz bir yapı sunar ama her yerde kullanılmaz. Doğru yerde kullanıldığında kodu sadeleştirir.

💡
Tek bir değişkenin farklı eşitlik durumlarını kontrol ediyorsan switch mantıklıdır.
💡
Koşullar karmaşıksa ve karşılaştırmalar farklı türdeyse if / else daha uygun olabilir.
💡
Default bloğunu boş bırakmamaya çalış.
MİNİ QUIZ
Aşağıdakilerden hangisi doğrudur?
switch yalnızca döngüler için kullanılır
default bloğu hiçbir case eşleşmezse çalışır
case içinde kod yazılamaz
switch içinde değer kontrol edilmez