Da C # /. NET Piccole meraviglie: Expression-Bodied Members in C # 6 :
So, should you use this? It all comes down to style. My gut would be to limit this to simple expressions and statements that can clearly be understood at first glance.
(enfasi, mia; vedi Aggiornamento 1 di seguito)
Altro dal Riassunto dell'articolo sopra:
So C# 6 now gives us the ability to specify get-only property and method bodies with expressions. This can help reduce the syntax burden of very simple methods to make your code more concise.
However, with all things, use your judgment on whether it fits for any given situation. When an expression is very long or complex, using the full body syntax may still be more readable.
E un'altra citazione sulle prestazioni, in quanto i problemi di prestazioni possono essere utilizzati anche quando è opportuno utilizzare una determinata funzione linguistica:
Now, you may ask, does this have any performance implications at runtime? Actually, the answer is no. This is simply syntactical sugar that expands into the same IL as writing the full body. It does not create a delegate, it is simply borrowing the lambda expression syntax to simplify writing simple bodies that result in an expression.
(enfasi, l'autore)
Aggiornamento 1: @ JörgWMittag ha detto
This makes no sense. "limit this to simple expressions and statements"? Huh? It doesn' even work with statements, only with expressions!
Sembra che l'autore originale abbia un misspoke. Per chiarire, da C # 6.0 nuovo e migliorato :
Expression bodied functions are another syntax simplification in C# 6.0. These are functions with no statement body. Instead, you implement them with an expression following the function declaration.
Per essere chiari, questo non rende un metodo o proprietà un Espressione . Utilizza la sintassi di espressione per ridurre le linee di codice (e i numeri di parentesi graffe).
Il mio consiglio originale rimane valido: usalo quando rende il tuo codice ovvio e più comprensibile, non semplicemente perché puoi usarlo.