", 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?
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:
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!