Est-il une différence significative entre l'utilisation de if/else et switch-case en C#?

Quel est l'avantage/inconvénient de l'utilisation d'un switch déclaration contre un if/else en C#. Je ne peux pas imaginer que les grandes d'une différence, d'autres que peut-être le look de votre code.

Est-il une raison pourquoi la IL ou associés les performances d'exécution serait radicalement différent?

Connexes: Ce qui est plus rapide, basculer sur la chaîne ou elseif sur type?

  • Related topic: stackoverflow.com/questions/335971/is-switch-case-always-wrong
  • Cette question est intéressante dans la théorie pour la majorité des développeurs, sauf si vous vous trouvez souvent l'itération d'UN MILLIARD de fois. (Puis utilisez une instruction switch et passer de 48 à 43 secondes...) Ou dans les mots de Donald Knuth: "Nous devons oublier les petites efficacité, disons environ 97% de l'optimisation prématurée est la racine de tous les maux" en.wikipedia.org/wiki/Program_optimization#When_to_optimize
  • J'utilise souvent des si/d'autre à la place de l'interrupteur à cause du vilain portée partagée de l'interrupteur.