Déclaration complète if / else par rapport à l'opérateur conditionnel [double]
-
26-09-2019 - |
Question
Doublons possibles: Les avantages d'utiliser le conditionnel: (ternaire) opérateur
est l'opérateur conditionnel lent?
Salut à tous,
J'ai une question assez simple en ce qui concerne les différentes if / else.
En dehors de l'écriture de code moins, sont-il d'autres avantages pour l'utilisation de l'opérateur conditionnel, par opposition à la pleine instruction if / else?
Y at-il une augmentation des performances, moins de code compilé, ou toute autre chose qui pourrait me tirer profit lors de son utilisation?
apprécie votre aide
Marko
La solution
Ne pas se concentrer sur écrit moins de code ... se concentrer sur le code vous finissez d'être plus lisibles .
Parfois, une déclaration if
sera plus lisible. Parfois, l'opérateur conditionnel sera plus lisible. Je aime l'opérateur conditionnel dans les cas où il est logique, en termes de différentes façons de calculer une valeur logique (par exemple une réduction, en fonction de l'âge d'un client). Je ne aime pas l'utiliser de façon alambiquée bien -. Il n'y a rien de mal à l'utilisation d'un plein if / else où il est logique
Il faut se rappeler l'opérateur null coalescent trop ... donc au lieu de:
string shipTo = customer.ShippingAddress != null
? customer.ShippingAddress : customer.BillingAddress;
vous pouvez utiliser
string shipTo = customer.ShippingAddress ?? customer.BillingAddress;
Encore une fois, il est utile que dans certaines situations -. Mais dans ces cas, il est vraiment pratique
Autres conseils
En dehors de l'écriture de code moins, sont-il d'autres avantages pour l'utilisation de l'opérateur ternaires, par opposition à la pleine instruction if / else?
Une meilleure lisibilité, dans certains cas ... Je pense que tout est.
Y at-il une augmentation des performances, moins de code compilé, ou anyhing autre qui pourrait me tirer profit lors de son utilisation?
Non, rien de significatif. Je pense qu'il va compiler habituellement au même IL quand même ...
Alors finalement, vous ne devez baser votre choix sur la lisibilité. Quand il est plus facile à lire pour écrire un complet if / else, faites-le. Si elle est une expression de ternaire très simple qui est facile à lire, allez-y.