De C # /. NET Little Wonders: Miembros con cuerpo de expresión en C # 6 :
Entonces, ¿deberías usar esto? Todo se reduce al estilo. Mi instinto sería limitar esto a expresiones simples y declaraciones que puedan entenderse claramente a primera vista.
(énfasis, mío; ver Actualización 1 a continuación)
Más del resumen del artículo anterior:
Entonces C # 6 ahora nos da la capacidad de especificar propiedades de solo obtención y cuerpos de métodos con expresiones. Esto puede ayudar a reducir la carga de sintaxis de métodos muy simples para hacer que su código sea más conciso.
Sin embargo, con todas las cosas, use su juicio sobre si se ajusta a cualquier situación dada. Cuando una expresión es muy larga o compleja, el uso de la sintaxis de cuerpo completo aún puede ser más legible.
Y otra cita sobre el rendimiento, porque los problemas de rendimiento también pueden influir cuando es apropiado usar una determinada función del lenguaje:
Ahora, usted puede preguntar, ¿esto tiene alguna implicación de rendimiento en tiempo de ejecución? En realidad, la respuesta es no . Esto es simplemente azúcar sintáctico que se expande en la misma IL que escribir todo el cuerpo. No , no crear un delegado, es simplemente pidiendo prestado la sintaxis de expresión lambda para simplificar la escritura de los cuerpos simples que resultan en una expresión.
(énfasis, el autor)
Actualización 1: @ JörgWMittag dijo
Esto no tiene sentido. ¿"limitar esto a expresiones y declaraciones simples"? ¿Eh? ¡Ni siquiera funciona con declaraciones, solo con expresiones!
Parece que el autor original puede tener errores de expresión. Para aclarar, de The New and Improved C # 6.0 :
Las funciones corporales de expresión son otra simplificación de sintaxis en C # 6.0. Estas son funciones sin cuerpo de declaración. En su lugar, los implementa con una expresión que sigue a la declaración de función.
Para ser claros, esto no hace que un método o propiedad sea una Expresión . Utiliza la sintaxis de Expresión para reducir las líneas de código (y los números de llaves).
Mi recomendación original sigue en pie: úsela cuando haga que su código sea obvio y más fácil de entender, no simplemente porque puede usarlo.