Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Adakah kata kunci perwakilan dan notasi lambda berfungsi sama dalam C#?

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

Linda Hamilton
Linda Hamiltonasal
2024-11-04 01:32:03881semak imbas

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>

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!

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