Rumah > pembangunan bahagian belakang > C++ > Apa maksud `=>` maksud dalam ahli-ahli C# Expression?

Apa maksud `=>` maksud dalam ahli-ahli C# Expression?

Mary-Kate Olsen
Lepaskan: 2025-01-30 23:26:11
asal
626 orang telah melayarinya

` Mean dalam ahli-ahli C# Expression-Bodied? " /> What Does `=>
</p> <性> semasa menghadapi kod berikut:

Adalah penting untuk memahami bahawa ini bukan ekspresi lambda, tetapi ahli ekspresi.

ahli ungkapan
<code class="language-csharp">public int MaxHealth =>
        Memory[Address].IsValid ? 
        Memory[Address].Read<int>(Offs.Life.MaxHp) : 
        0;</code>
Salin selepas log masuk

Apabila pengkompil menemui ahli badan ekspresi, ia akan mengubahnya menjadi getter:

ahli badan ekspresi dan medan dengan peranti inisialisasi

perbezaan antara ungkapan ungkapan dan medan dengan peranti inisialisasi dapat dijelaskan dengan membandingkan kandungan berikut:
<code class="language-csharp">public int MaxHealth
{
    get
    {
        return Memory[Address].IsValid ? Memory[Address].Read<int>(Offs.Life.MaxHp) : 0;
    }
}</code>
Salin selepas log masuk

Ekspresi ungkapan adalah getter yang memanggilnya setiap kali anda mengakses atribut. Sebaliknya, medan dimulakan sekali apabila instantiated.

Candy Tatabahasa

<code class="language-csharp">// 表达式体成员属性
public int MaxHealth => x ? y : z;</code>
Salin selepas log masuk
<code class="language-csharp">// 带有字段初始化器的字段
public int MaxHealth = x ? y : z;</code>
Salin selepas log masuk
Ahli -ahli ungkapan adalah gula tatabahasa tulen, dan tidak ada fungsi tambahan kecuali fungsi yang ada. Mereka menyediakan kandungan berikut dengan sintaks yang lebih mudah untuk atribut ahli:

tiada pernyataan pulangan (ekspresi pulangan tersembunyi) tiada blok ayat (badan utama adalah ungkapan tunggal)

tidak perlu "mendapatkan" kata kunci (tersembunyi oleh tatabahasa ekspresi ungkapan)

  • Keterangan Tambahan
  • Ahli -ahli badan ekspresi juga sesuai untuk indeks, kaedah, pengendali, pembina, dan sokongan (dalam C# 7.0 atau lebih tinggi).
Mereka tidak sesuai untuk jenis, peristiwa atau bidang bersarang.

Walaupun mereka serupa dengan ekspresi lambda dalam "= & gt;", mereka bukan ekspresi lambda sebenar. Ahli -ahli badan ekspresi hanya menunjukkan bahawa pengkompil menghasilkan ahli tertentu di belakang tabir.

Atas ialah kandungan terperinci Apa maksud `=>` maksud dalam ahli-ahli C# Expression?. 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