Rumah >pembangunan bahagian belakang >C++ >Apakah pengendali comel comment c# null (??) dan bagaimana ia berfungsi?
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!