Disons que j'ai l'option de l'identification d'un code de la route à prendre, sur la base d'une comparaison de chaînes ou d'autre iffing du type:
Ce qui est plus rapide et pourquoi?
switch(childNode.Name)
{
case "Bob":
break;
case "Jill":
break;
case "Marko":
break;
}
if(childNode is Bob)
{
}
elseif(childNode is Jill)
{
}
else if(childNode is Marko)
{
}
Mise à jour: La principale raison pour laquelle je demande c'est parce que l'instruction switch est perculiar à propos de ce qui compte comme un cas. Par exemple il l'habitude de vous permettre d'utiliser des variables, seules les constantes qui sont déplacés à l'assemblage principal. Je suppose qu'il avait cette restriction en raison de certaines de funk il était en train de faire. Si c'est seulement la traduction de elseifs (comme un poster de commentaire), alors pourquoi ne sommes-nous pas autorisés variables dans le cas des états?
Mise en garde: je suis post-optimisation. Cette méthode est appelée plusieurs fois dans une partie lente de l'application.