C#'da switch/case vs if/else hangisi daha performanslı?

Peki hocam if else ye göre ne gibi fark var Switch Case'in ne gibi yerlerde kulanilır.
Hiçbir farkı yok hocam, birebir aynı işe yarıyor. Mesela standarttır örnektir, not ortalamasına göre harf notu basan algoritma yazarsanız if ile değil switch case kullanılır. Yani çoklu ve tek düze koşul varsa kullanırsınız ama oraya gidip if açsanız aynı şey.
 
Hiçbir farkı yok hocam, birebir aynı işe yarıyor. Mesela standarttır örnektir, not ortalamasına göre harf notu basan algoritma yazarsanız if ile değil Switch case kullanılır. Yani çoklu ve tek düze koşul varsa kullanırsınız ama oraya gidip if açsanız aynı şey.

Çok teşekkürler hocam.
 
Basit, kişisel uygulamalarda pek bir fark yaratmaz ama üzerinden çok trafik akan sistemlerde switch çok önerilmez, hatta code smell olarak görenler var diye biliyorum. Direkt değerler için polymorphism kullanılması önerilir. (direkt değer dediğim şöyle oluyor: switch(hayvan) case: kedi: ... case: kopek: ... gibi direkt değerler varsa bunlar için classlar tanımlanmalı, ona uygun handling yazılmalıdır) Üstteki bir arkadaşın dediği gibi direkt değer değil de not sistemindeki gibi aralıklar varsa (direkt olmayan değer dediğim de: switch(sinav_notu) case 100 85 arası... case 85 70 arası gibi) switch işleminin performansının düşük olduğunu söyleyen şöyle bir stackoverflow cevabı var, inceleyebilirsiniz. Googleda falan çalışmıyorsanız hayatımıza çok fark yaratacak bir şey değil gibi gerçi.
 

Yeni konular

Geri
Yukarı