Question

Je me demande: quelle est la meilleure instruction en termes de performance entre ces 2 versions:

Background = Application.Current.Resources[condition ? BackgroundName1 : BackgroundName2] as Brush;

et

Background = condition ? Application.Current.Resources[BackgroundName1] as Brush : Application.Current.Resources[BackgroundName2] as Brush;

est-il une différence? et si oui, lequel est mieux?

Merci

NB: BackgroundName1 & 2 sont simplement des chaînes

Était-ce utile?

La solution

Le premier est plus court et plus lisible.

Il est également plus facile à entretenir.
Si vous changez plus tard pour lire un autre dictionnaire de ressources, vous pourriez oublier de changer la seconde moitié de la seconde.

Le premier est en train de lire aussi plus clairement dans le même dictionnaire.

Autres conseils

D'abord: Utilisez un profileur pour trouver la plus lente chose. Si vous rencontrez un problème de performance, il n'a pas de sens de passer des heures ou des jours de travailler pour faire quelque chose de plus rapide qui est déjà assez rapide.

Deuxième: Vous pouvez déterminer la réponse à votre question en l'essayant dans les deux sens et mesurer soigneusement pour voir s'il y a une différence. Ne nous demandez pas qui est plus rapide; nous ne savons pas parce que nous avons pas essayé et ont pas la possibilité de l'essayer.

Ne pas trop pris dans des micro-optimisations! Le gain de performance que vous obtiendrez sera nul. Optez pour le code qui est plus lisible et plus facile à comprendre à la fin.

Non que ce soit de différence.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top