Rumah >pembangunan bahagian belakang >C++ >Apakah pengendali comel comment c# null (??) dan bagaimana ia berfungsi?

Apakah pengendali comel comment c# null (??) dan bagaimana ia berfungsi?

DDD
DDDasal
2025-01-29 08:15:10393semak imbas

What is the C# Null Coalescing Operator (??) and How Does it Work?

simbol operasi penggabungan kosong di C#: misteri tanda tanya dua

Dalam bidang pengaturcaraan C#, anda mungkin menghadapi sintaks khas yang mengandungi dua tanda tanya ("??"). Simbol misteri ini dipanggil pengkomputeran penggabungan udara, yang patut dikaji dengan teliti.

Simbol Operasi Penggabungan Udara: Gambaran Keseluruhan

Fungsi penggabungan udara (diwakili oleh "??" adalah serupa dengan pengendali tiga yuan (segera jika). Ia membolehkan anda hanya menentukan nilai rizab yang digunakan pada hasil pengiraan ekspresi kiri. Contoh konteks

Pertimbangkan serpihan kod berikut:

di sini, watak pengkomputeran penggabungan kosong digunakan untuk menetapkan nilai pembolehubah bentuk kepada FormSauth (jika tidak kosong) atau contoh FormSauthenticationWrapper baru (jika Formsauth kosong).

Pernyataan bersyarat pelanjutan adalah bersamaan
<code class="language-csharp">FormsAuth = formsAuth ?? new FormsAuthenticationWrapper();</code>

Untuk lebih memahami tingkah laku pengendali penggabungan udara, kita dapat mengembangkannya menjadi pernyataan bersyarat yang setara:

memudahkan lagi

Kenyataan keadaan ini boleh ditulis lebih lanjut:
<code class="language-csharp">FormsAuth = formsAuth != null ? formsAuth : new FormsAuthenticationWrapper();</code>

Oleh itu, watak pengkomputeran penggabungan udara pada dasarnya adalah jalan pintas kepada pernyataan IF-Art, yang menyediakan cara mudah untuk menentukan nilai sandaran. Simbol Operasi Penggabungan Udara Bersama Kelas

anda boleh menghubungkan pengkomputeran penggabungan udara berganda untuk memeriksa nilai kosong pada gilirannya. Contohnya:
<code class="language-csharp">if (formsAuth != null)
    FormsAuth = formsAuth;
else
    FormsAuth = new FormsAuthenticationWrapper();</code>

Kenyataan ini memberikan jawapan yang tidak pertama yang pertama# untuk menjawab pembolehubah. Jika semua jawapan# nilai kosong, pembolehubah jawapan disimpan kosong.

Langkah berjaga -jaga prestasi

Harus diingat bahawa pengendali penggabungan udara hanya menilai ekspresinya sekali, sama ada mereka benar atau palsu. Ini mungkin bermanfaat apabila salah satu ungkapan mempunyai kesan sampingan.

Atas ialah kandungan terperinci Apakah pengendali comel comment c# null (??) dan bagaimana ia berfungsi?. 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