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

398708

Hectopat
Katılım
13 Aralık 2020
Mesajlar
593
Çözümler
8
C# da switch/case vs if/else hangisi daha performanslı? Hangisi kulanilmali?
 
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.
 

Çok teşekkürler hocam.
 
Mikrosaniye olarak düşünürsek ve işlem kolaylığı açısından diyorsanız Switch case.

Ancak her iki işlemin kullanım anları farklılık gösterebilir. Hangi duruma uygunsa o işlemi kullanmanız gerekiyor.

O yüzden kıyaslamak mantıklı değil.
 
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.
 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için çerezleri kabul etmelisiniz. Daha Fazlasını Öğren.…