Від C # /. NET Маленькі чудеса: Члени висловлювань у C # 6 :
Отже, ви повинні використовувати це? Все зводиться до стилю. Моя кишка полягала б у тому, щоб обмежити це простими виразами та твердженнями, які чітко можна зрозуміти на перший погляд.
(акцент, мій; див. оновлення 1 нижче)
Більше із резюме статті вище:
Отже, C # 6 тепер дає нам можливість визначати властивості get-only та тіла методів із виразами. Це може допомогти зменшити навантаження синтаксису дуже простих методів, щоб зробити ваш код більш стислим.
Однак при всьому використайте судження про те, чи підходить воно для будь-якої ситуації. Коли вираз дуже довгий або складний, використання синтаксису повного тіла може все-таки бути більш читабельним.
І ще одна цитата щодо продуктивності, оскільки проблеми з продуктивністю можуть також виникати, коли доцільно використовувати певну мовну функцію:
Ви можете запитати, чи це має якісь наслідки для продуктивності під час виконання? Власне, відповідь - ні . Це просто синтаксичний цукор, який розширюється в той же ІЛ, що і написання повного тіла. Він не створює делегата, він просто запозичує синтаксис вираження лямбда для спрощення написання простих тіл, які призводять до виразу.
(акцент, автор)
Оновлення 1: @ JörgWMittag сказав
Це не має сенсу. "обмежити це простими виразами та твердженнями"? Так? Це навіть не працює з твердженнями, тільки з виразами!
Здається, у початкового автора може виникнути помилка. Для уточнення, з Нового та вдосконаленого C # 6.0 :
Функції із вираженими функціями - це ще одне спрощення синтаксису в C # 6.0. Це функції, в яких немає тіла оператора. Натомість ви реалізуєте їх із виразом, що слідує за декларацією функції.
Щоб було зрозуміло, це не робить метод чи властивість виразом . Він використовує синтаксис Expression для зменшення рядків коду (та кількості фігурних дужок).
Моя оригінальна рекомендація все ще стоїть: Використовуйте її, коли ваш код стає очевидним і простішим для розуміння, а не просто тому, що ви можете ним користуватися.