De C # /. NET Little Wonders: membres d'expression en C # 6 :
Alors, devriez-vous utiliser cela? Tout se résume au style. Mon instinct serait de limiter cela à des expressions et des déclarations simples qui peuvent être clairement comprises à première vue.
(c'est moi qui souligne; voir la mise à jour 1 ci-dessous)
Plus du résumé de l'article ci-dessus:
Donc C # 6 nous donne maintenant la possibilité de spécifier des corps de méthode et de propriété get-only avec des expressions. Cela peut aider à réduire la charge de syntaxe des méthodes très simples pour rendre votre code plus concis.
Cependant, avec toutes choses, utilisez votre jugement pour savoir si cela convient à une situation donnée. Lorsqu'une expression est très longue ou complexe, l'utilisation de la syntaxe du corps entier peut toujours être plus lisible.
Et une autre citation sur les performances, car les problèmes de performances peuvent également jouer lorsqu'il est approprié d'utiliser une certaine fonctionnalité de langue:
Maintenant, vous pouvez vous demander si cela a des implications sur les performances lors de l'exécution? En fait, la réponse est non . Il s'agit simplement de sucre syntaxique qui se développe dans le même IL que l'écriture du corps entier. Il ne crée pas de délégué, il emprunte simplement la syntaxe d'expression lambda pour simplifier l'écriture de corps simples qui aboutissent à une expression.
(italique, l'auteur)
Mise à jour 1: @ JörgWMittag a déclaré
Cela n'a aucun sens. "limiter cela à de simples expressions et déclarations"? Hein? Cela ne fonctionne même pas avec les instructions, uniquement avec les expressions!
Il semble que l'auteur d'origine ait mal parlé. Pour clarifier, à partir du nouveau et amélioré C # 6.0 :
Les fonctions à corps d'expression sont une autre simplification de la syntaxe dans C # 6.0. Ce sont des fonctions sans corps d'instruction. Au lieu de cela, vous les implémentez avec une expression suivant la déclaration de fonction.
Pour être clair, cela ne fait pas d'une méthode ou d'une propriété une expression . Il utilise la syntaxe d' expression pour réduire les lignes de code (et le nombre d'accolades).
Ma recommandation d'origine est toujours valable: utilisez-la lorsqu'elle rend votre code évident et plus facile à comprendre, et pas simplement parce que vous pouvez l'utiliser.