Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah Pengendali Lambda C# Dapat Memudahkan Penciptaan Perwakilan dan Ahli Bertubuh Ekspresi?

Bagaimanakah Pengendali Lambda C# Dapat Memudahkan Penciptaan Perwakilan dan Ahli Bertubuh Ekspresi?

Linda Hamilton
Lepaskan: 2025-01-11 19:56:42
asal
748 orang telah melayarinya

How Can C#'s Lambda Operator Simplify Delegate Creation and Expression-Bodied Members?

Pemahaman mendalam tentang pengendali Lambda dalam C#

Pengendali Lambda ("=>") dalam C# ialah gula sintaksis berkuasa yang memudahkan penciptaan perwakilan tanpa nama dan badan ekspresi.

Ekspresi Lambda

Ekspresi Lambda menyediakan alternatif yang lebih bersih kepada kaedah tanpa nama tanpa mengisytiharkan perwakilan secara eksplisit. Ia biasanya digunakan sebagai parameter Lambda jenis perwakilan, seperti Func<T, TResult> atau Action<T>.

Contohnya, buat perwakilan yang mengembalikan nama seseorang:

Kaedah penulisan komisen tradisional:

Func<Person, string> nameProjection = delegate (Person p) { return p.Name; };
Salin selepas log masuk

Diringkaskan menggunakan sintaks Lambda:

Func<Person, string> nameProjection = p => p.Name;
Salin selepas log masuk

Ahli badan ekspresi

Bermula dalam C# 6, sintaks Lambda dilanjutkan untuk menyokong ahli badan ekspresi untuk sifat dan kaedah. Ini membolehkan pelaksanaan sifat atau kaedah ditakrifkan menggunakan ungkapan ringkas tanpa menggunakan blok kod tradisional.

Sebagai contoh, tentukan atribut IsValid untuk menyemak sama ada nama orang itu tidak kosong dan ID bukan -1:

public int IsValid => name != null && id != -1;
Salin selepas log masuk

Begitu juga, kaedah GetHashCode boleh dilaksanakan menggunakan sintaks Lambda:

public int GetHashCode() => id.GetHashCode();
Salin selepas log masuk

Lebih banyak sumber pembelajaran

Pembelajaran Mendalam:

  • Apakah perbezaan antara kaedah tanpa nama dan ungkapan Lambda?
  • Apakah ungkapan Lambda?
  • Mengapa anda perlu menggunakan ungkapan Lambda dalam C#?

Atas ialah kandungan terperinci Bagaimanakah Pengendali Lambda C# Dapat Memudahkan Penciptaan Perwakilan dan Ahli Bertubuh Ekspresi?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan