Dari C # /. NET Little Wonders: Anggota Berekspresi di C # 6 :
Jadi, haruskah Anda menggunakan ini? Semuanya bermuara pada gaya. Naluri saya adalah membatasi ini hanya pada ekspresi dan pernyataan sederhana yang dapat dipahami dengan jelas pada pandangan pertama.
(Penekanan, milikku; lihat Pembaruan 1 di bawah)
Lebih banyak dari Ringkasan artikel di atas:
Jadi C # 6 sekarang memberi kita kemampuan untuk menentukan properti get-only dan metode body dengan ekspresi. Ini dapat membantu mengurangi beban sintaksis dari metode yang sangat sederhana untuk membuat kode Anda lebih ringkas.
Namun, dengan semua hal, gunakan penilaian Anda apakah cocok untuk situasi tertentu. Ketika sebuah ekspresi sangat panjang atau kompleks, menggunakan sintaksis seluruh tubuh mungkin masih lebih mudah dibaca.
Dan kutipan lain tentang kinerja, karena masalah kinerja juga dapat berperan ketika layak untuk menggunakan fitur bahasa tertentu:
Sekarang, Anda mungkin bertanya, apakah ini memiliki implikasi kinerja pada saat runtime? Sebenarnya, jawabannya adalah tidak . Ini hanyalah gula sintaksis yang mengembang menjadi IL yang sama dengan menulis seluruh tubuh. Itu tidak membuat delegasi, itu hanya meminjam sintaks ekspresi lambda untuk menyederhanakan penulisan badan sederhana yang menghasilkan ekspresi.
(penekanan, penulis)
Pembaruan 1: @JörgWMittag berkata
Ini tidak masuk akal. "batasi ini untuk ekspresi dan pernyataan sederhana"? Hah? Bahkan tidak bekerja dengan pernyataan, hanya dengan ekspresi!
Tampaknya penulis asli mungkin salah mengeja. Untuk memperjelas, dari The New dan Improved C # 6.0 :
Fungsi ekspresi tubuh adalah penyederhanaan sintaksis lain dalam C # 6.0. Ini adalah fungsi tanpa badan pernyataan. Sebagai gantinya, Anda menerapkannya dengan ekspresi mengikuti deklarasi fungsi.
Agar jelas, ini tidak membuat metode atau properti Ekspresi . Ini menggunakan sintaks Expression untuk mengurangi baris kode (dan jumlah kurung kurawal).
Rekomendasi asli saya masih berlaku: Gunakan ketika kode Anda jelas dan lebih mudah dipahami, bukan hanya karena Anda dapat menggunakannya.