Notasi Lambda lwn. Kata Kunci Perwakilan: Bolehkah Mereka Digunakan Bergantian?

Mary-Kate Olsen
Lepaskan: 2024-10-31 01:51:29
asal
758 orang telah melayarinya

  Lambda Notation vs. Delegate Keyword: Can They Be Used Interchangeably?

Delegasikan Kata Kunci lwn. Notasi Lambda: Adakah Mereka Boleh Ditukar?

Bahasa pengaturcaraan moden selalunya menyediakan berbilang cara untuk menyatakan pengiraan yang sama. Dalam C#, notasi lambda dan kata kunci perwakilan ialah dua pilihan popular. Perbincangan ini meneroka kesetaraan dan nuansanya.

notasi lambda:

<code class="csharp">() => { x = 0; }</code>
Salin selepas log masuk

kata kunci perwakilan:

<code class="csharp">delegate { x = 0; }</code>
Salin selepas log masuk

Adakah Mereka Benar-Benar Setaraf?

Dari segi tingkah laku yang terhasil, jawapannya adalah tidak. Kedua-dua notasi menghasilkan perwakilan tanpa nama yang memberikan 0 kepada pembolehubah x.

Perbezaan Halus (Tidak Relevan dengan Soalan Anda):

Walau bagaimanapun, adalah penting untuk ambil perhatian bahawa jika anda menetapkan lambda kepada jenis perwakilan (cth., Func atau Action), anda memperoleh perwakilan tanpa nama. Sebaliknya, jika anda menetapkannya kepada jenis Ungkapan, anda mendapat pepohon ungkapan sebaliknya, yang boleh disusun menjadi perwakilan tanpa nama. Pokok ungkapan tidak melaksanakan secara langsung seperti yang dilakukan oleh perwakilan tanpa nama.

Sumber Tambahan pada Ungkapan:

  • System.Linq.Expression.Expression(TDelegate)
  • Pautan ke LINQ Dalam Memori Menggunakan Perwakilan
  • ScottGu Menjelaskan Perbezaan Antara LINQ Dalam Memori dan Rangka Kerja Entiti

Atas ialah kandungan terperinci Notasi Lambda lwn. Kata Kunci Perwakilan: Bolehkah Mereka Digunakan Bergantian?. 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