Da C # /. NET Little Wonders: Membri con espressione corporea in C # 6 :
Quindi, dovresti usare questo? Tutto si riduce allo stile. Il mio istinto sarebbe quello di limitare questo a semplici espressioni e dichiarazioni che possono essere chiaramente comprese a prima vista.
(enfasi, mia; vedi aggiornamento 1 di seguito)
Altro dal Sommario dell'articolo sopra:
Quindi C # 6 ora ci dà la possibilità di specificare corpi di proprietà e metodo get-only con espressioni. Questo può aiutare a ridurre l'onere della sintassi di metodi molto semplici per rendere il tuo codice più conciso.
Tuttavia, con tutte le cose, usa il tuo giudizio sull'adeguatezza per una determinata situazione. Quando un'espressione è molto lunga o complessa, l'uso della sintassi dell'intero corpo può essere ancora più leggibile.
E un'altra citazione sulle prestazioni, perché i problemi di prestazioni possono anche giocare quando è appropriato utilizzare una determinata funzionalità linguistica:
Ora, potresti chiederti, questo ha delle conseguenze sulle prestazioni in fase di esecuzione? In realtà, la risposta è no . Questo è semplicemente zucchero sintattico che si espande nello stesso IL della scrittura di tutto il corpo. Esso non crea un delegato, viene semplicemente prendendo in prestito la sintassi espressione lambda semplificare crei corpi semplici che risultano in un'espressione.
(enfasi, l'autore)
Aggiornamento 1: ha detto @ JörgWMittag
Questo non ha senso. "limitalo a espressioni e dichiarazioni semplici"? Eh? Non funziona nemmeno con le dichiarazioni, solo con le espressioni!
Sembra che l'autore originale potrebbe avere errori di battitura. Per chiarire, da The New and Improved C # 6.0 :
Le funzioni di espressione sono un'altra semplificazione della sintassi in C # 6.0. Queste sono funzioni senza corpo di istruzioni. Invece, li implementate con un'espressione che segue la dichiarazione di funzione.
Per essere chiari, questo non rende un metodo o una proprietà un'espressione . Utilizza la sintassi di espressione per ridurre le righe di codice (e il numero di parentesi graffe).
La mia raccomandazione originale rimane valida: usala quando rende il tuo codice ovvio e più facile da capire, non semplicemente perché puoi usarlo.