Rumah >pembangunan bahagian belakang >C++ >Apakah Maksud Sintaks `=>` dalam C#?

Apakah Maksud Sintaks `=>` dalam C#?

Mary-Kate Olsen
Mary-Kate Olsenasal
2025-01-11 19:47:41309semak imbas

What Does the `=>` Maksud Sintaks dalam C#?

Terokai sintaks '=>' misteri dalam C#

Pernahkah anda menemui sintaks '=>' misteri dalam kod C# dan tertanya-tanya apa maksudnya? Mari kita demystify dan terokai pelbagai kegunaannya.

Notasi berbelit-belit ini, dipanggil operator lambda, telah menjadi bahagian penting dalam bahasa C# sejak versi 3.0. Pada asalnya digunakan dalam ungkapan lambda, ia menyediakan alternatif yang kemas kepada kaedah tanpa nama. Ungkapan ini menyediakan cara padat untuk mentakrifkan fungsi tanpa mengisytiharkan tandatangan penuhnya secara eksplisit.

Sebagai contoh, kod berikut mencipta ungkapan lambda menggunakan sintaks '=>':

<code class="language-c#">Func<Person, string> nameProjection = p => p.Name;</code>

Ungkapan ini bersamaan dengan kaedah tanpa nama berikut:

<code class="language-c#">Func<Person, string> nameProjection = delegate (Person p) { return p.Name; };</code>

Dalam kedua-dua kes, perwakilan menerima Orang sebagai parameter dan mengembalikan sifat Namanya sebagai rentetan.

Walau bagaimanapun, sintaks '=>' benar-benar bersinar dalam C# 6 dan ke atas. Ia digunakan untuk ahli badan ekspresi, sangat memudahkan kod anda dengan membenarkan anda mentakrifkan sifat dan kaedah menggunakan ungkapan ringkas.

Pertimbangkan contoh berikut:

<code class="language-c#">// 表达式主体属性
public int IsValid => name != null && id != -1;

// 表达式主体方法
public int GetHashCode() => id.GetHashCode();</code>

Ungkapan ini menyediakan cara yang lebih ringkas untuk mentakrifkan gelagat sifat dan kaedah tanpa blok kod yang panjang.

Untuk mengembangkan lagi pengetahuan anda, sila rujuk sumber berikut:

Atas ialah kandungan terperinci Apakah Maksud Sintaks `=>` 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