Menguasai Penutupan C# untuk Kebolehgunaan Kod yang Diperbaiki
Penutupan C# ialah teknik pengaturcaraan yang kuat yang membolehkan pengkapsulan pembolehubah dan fungsi dalam perwakilan atau kaedah tanpa nama. Ini membolehkan penciptaan segmen kod yang sangat boleh disesuaikan dan boleh digunakan semula.
Mekanik Penutupan C#
Penutupan dibuat apabila kaedah atau perwakilan tanpa nama ditakrifkan dalam kaedah yang mengandungi. Kaedah dalam (kaedah tanpa nama atau perwakilan) mengekalkan akses kepada pembolehubah yang diisytiharkan dalam skop kaedah luar, walaupun selepas kaedah luar telah menyelesaikan pelaksanaan.
Contoh Ilustrasi:
Pertimbangkan senario ini:
<code class="language-csharp">public Person FindById(int id) { return this.Find(delegate(Person p) { return (p.Id == id); }); }</code>
Di sini, FindById
mengambil id
dan mengembalikan objek Person
. Wakil tanpa nama yang diserahkan kepada kaedah Find
bertindak sebagai ungkapan lambda, menyemak sama ada Person
objek Id
sepadan dengan input id
. Ini dengan cekap mencari orang tertentu melalui ID.
C# 6 dan Seterusnya: Penutupan Ringkas
C# 6 dan versi seterusnya menyelaraskan penciptaan penutupan menggunakan ungkapan lambda dan badan ekspresi. Contoh sebelumnya boleh ditulis semula secara ringkas sebagai:
<code class="language-csharp">public Person FindById(int id) { return this.Find(p => p.Id == id); }</code>
Ringkasnya
Penutupan C# ialah alat yang tidak ternilai, meningkatkan fleksibiliti kod dan kebolehgunaan semula dengan merangkum pembolehubah dan fungsi dalam ungkapan lambda dan kaedah tanpa nama. Ini membawa kepada aplikasi yang lebih cekap dan boleh diselenggara.
Atas ialah kandungan terperinci Bagaimanakah Penutupan Berfungsi dan Meningkatkan Kebolehgunaan Kod dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!