2010-11-25 2 views
1

Il existe de nombreuses instructions dans lesquelles nous pouvons utiliser l'un des opérateurs conditionnels if .. else.Lequel est le meilleur à utiliser, "Conditional Operator (? :)" ou "if ... else" dans .NET?

Donc, dans ces déclarations, laquelle est la meilleure du point de vue de la performance?

+0

duplication possible de [?: Opérateur Vs. If Statement Performance] (http://stackoverflow.com/questions/547249/operator-vs-if-statement-performance) – Steven

Répondre

12

Ne vous inquiétez pas pour les performances. Utilisez ce qui est plus clair à lire.

+0

@Mark: Vous avez raison, mais nous ne pouvons pas ignorer les performances. –

+0

@Jeevan: Je ne veux pas ignorer la performance globale, je ne pense pas que * ceci * sera un goulot d'étranglement. – mpen

+2

@Jeevan Bhatt, Ils vont compiler au même code msil, donc la performance est la même. Et même s'il y avait une différence, elle serait si petite que cela n'aurait aucune importance pour un programme que vous écririez en C#. –

1

Ne jamais penser à la performance. Les optimisations prématurées sont le rejeton de Satan et la racine de tous les maux dans l'enfer et la terre.

La seule fois où vous devriez vous soucier de la performance, c'est si vos utilisateurs/clients s'en plaignent. Et puis seulement réparer la fonctionnalité dont ils se plaignent.

La chose à développer est de rendre le code le plus lisible possible. Cela rend beaucoup plus facile de résoudre les bogues et les problèmes de performance par rapport au code que vous avez essayé d'optimiser pour la performance. En ce qui concerne la performance, ce n'est généralement pas du code ordinaire, tel que les clauses if qui nuisent aux performances. Il est le réseau, les opérations de base de données, alghoritms, chaînes d'analyse syntaxique, etc.

0

« Les programmes sont destinés à être lus par les humains et accessoirement pour les ordinateurs à exécuter » - Donald Knuth

Alors, toujours if ... else . Sauf si vous trouvez un endroit où? aide à comprendre votre code.

1

Utilisez "?" pour affecter une valeur par défaut à une variable null vide ou autrement inutilisable.

Utilisez if .. else .. pour tout le reste.