Ekspresi Lambda yang diperkenalkan dalam C# 3.0 menimbulkan rasa ingin tahu pembangun. Walaupun mereka kelihatan serupa dengan perwakilan tanpa nama, mereka menawarkan kelebihan unik yang menjadikan mereka alat yang sangat diperlukan dalam senjata pengaturcaraan anda.
Delegasi tanpa nama yang dipermudahkan
Ekspresi Lambda menyediakan sintaks ringkas untuk perwakilan tanpa nama, menjadikan kod lebih ringkas dan jelas. Tidak seperti perwakilan tanpa nama, yang memerlukan jenis perwakilan yang berasingan, ungkapan lambda boleh ditakrifkan sebaris tanpa langkah tambahan.
Contohnya, sintaks perwakilan tanpa nama berikut:
<code class="language-c#">delegate int del(int i); del myDelegate = x => x * x;</code>
boleh dipermudahkan kepada:
menggunakan ungkapan Lambda<code class="language-c#">Func<int, int> myDelegate = x => x * x;</code>
Fungsi pokok ungkapan
Kelebihan ketara ungkapan Lambda berbanding perwakilan tanpa nama ialah ia boleh ditukar menjadi pepohon ekspresi. Pokok ungkapan mewakili pepohon sintaks abstrak Lambda, membenarkan analisis dan manipulasi yang mendalam. Ciri ini adalah asas untuk ciri seperti LINQ (Language Integrated Query) dalam C#.
Kelebihan berbanding kaedah tradisional
Walaupun kedua-dua ungkapan dan kaedah lambda boleh digunakan sebagai cara untuk menentukan tingkah laku seperti fungsi, ungkapan lambda menawarkan kelebihan yang ketara:
Contoh: Menunjukkan kuasa LINQ
Pertimbangkan contoh LINQ berikut yang menggunakan ungkapan Lambda untuk menapis senarai integer:
<code class="language-c#">var evens = Enumerable .Range(1, 100) .Where(x => (x % 2) == 0) .ToList();</code>
Kod ini menggunakan ungkapan Lambda untuk mentakrifkan keadaan penapis, yang lebih ringkas dan boleh dibaca daripada menggunakan perwakilan tanpa nama.
Atas ialah kandungan terperinci Bagaimanakah ekspresi C# Lambda meningkatkan kebolehbacaan dan fungsi kod?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!