", dikenali sebagai operator lambda, ialah gula sintaksis berkuasa yang diperkenalkan dalam C# yang membolehkan penciptaan..."/> ", dikenali sebagai operator lambda, ialah gula sintaksis berkuasa yang diperkenalkan dalam C# yang membolehkan penciptaan...">

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
Linda Hamiltonasal
2025-01-11 19:56:42685semak imbas

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:

<code class="language-csharp">Func<Person, string> nameProjection = delegate (Person p) { return p.Name; };</code>

Diringkaskan menggunakan sintaks Lambda:

<code class="language-csharp">Func<Person, string> nameProjection = p => p.Name;</code>

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:

<code class="language-csharp">public int IsValid => name != null && id != -1;</code>

Begitu juga, kaedah GetHashCode boleh dilaksanakan menggunakan sintaks Lambda:

<code class="language-csharp">public int GetHashCode() => id.GetHashCode();</code>

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:
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