Adakah kata kunci perwakilan dan notasi lambda berfungsi sama dalam C#?

Linda Hamilton
Lepaskan: 2024-11-04 01:32:03
asal
923 orang telah melayarinya

Are delegate keywords and lambda notation functionally identical in C#?

Delegasikan Kata Kunci lwn. Notasi Lambda

Dalam C#, soalan biasa timbul berkenaan persamaan dua ungkapan lambda:

<code class="csharp">delegate { x = 0; }

() = > { x = 0 }</code>
Salin selepas log masuk

Adakah fungsinya serupa setelah disusun?

Jawapan:
Ringkasnya, tidak. Mereka adalah setara dari segi sintaksis, tetapi berbeza dalam jenis perwakilan yang terhasil.

Menyelidiki Lebih Dalam:
Sementara kata kunci perwakilan secara tradisinya mencipta perwakilan tanpa nama, menggunakan lambda dengan kata kunci perwakilan menghasilkan perwakilan tanpa nama juga. Walau bagaimanapun, memberikan lambda kepada jenis Ungkapan akan menghasilkan pepohon ungkapan, yang kemudiannya boleh disusun kepada perwakilan tanpa nama.

Pertimbangan Lanjutan:
Pilihan antara tatatanda ini bergantung pada penggunaan yang dimaksudkan:

  • Tugaskan kepada Jenis Perwakilan (cth., Fungsi, Tindakan): Gunakan perwakilan tanpa nama untuk penjanaan kod masa jalan.
  • Tugaskan kepada Jenis Ungkapan: Gunakan pepohon ungkapan untuk pelaksanaan tertunda atau penjanaan kod tersuai.

Atas ialah kandungan terperinci Adakah kata kunci perwakilan dan notasi lambda berfungsi sama dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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