Rumah >pembangunan bahagian belakang >C++ >Apakah pengendali `??` (Null Coalescing) dalam C#?

Apakah pengendali `??` (Null Coalescing) dalam C#?

Linda Hamilton
Linda Hamiltonasal
2025-01-29 07:41:09215semak imbas

C# Null Coalescing Operator (??)

Peranan penggabungan udara (??) Penggabungan udara (??)

C#, "??", iaitu, pengendali penggabungan kosong menyediakan cara mudah untuk memberikan nilai yang tidak berkepentingan kepada pembolehubah. Pertimbangkan contoh kod berikut:

di sini, watak operasi penggabungan udara digunakan untuk memberikan nilai mengikut syarat -syarat berikut:
<code class="language-csharp">FormsAuth = formsAuth ?? new FormsAuthenticationWrapper();</code>

FormsAuth dengan kata lain, jika

tidak kosong, ia diberikan kepada
<code class="language-csharp">FormsAuth = formsAuth != null ? formsAuth : new FormsAuthenticationWrapper();</code>
; Ini bersamaan dengan pernyataan bersyarat berikut:

formsAuth FormsAuth Struktur ini amat berguna apabila perlu untuk memastikan pembolehubah diberikan sebelum digunakan. Ia menyediakan alternatif yang lebih ringkas dan cekap daripada menggunakan pernyataan bersyarat. FormsAuthenticationWrapper FormsAuth Harus diingat bahawa pengendali penggabungan udara berganda boleh digunakan secara berterusan. Contohnya:

<code class="language-csharp">if(formsAuth != null)
    FormsAuth = formsAuth;
else
    FormsAuth = new FormsAuthenticationWrapper();</code>
Dalam contoh ini,

pembolehubah akan diberikan kepada nilai bukan

yang pertama. Jika semua nilai kosong,

akan kekal kosong.

<code class="language-csharp">string Answer = Answer1 ?? Answer2 ?? Answer3 ?? Answer4;</code>
Di samping itu, patut ditekankan bahawa walaupun pengembangan pengendali penggabungan udara bersamaan dengan konseptual, setiap ungkapan hanya akan dinilai sekali. Ini sangat penting apabila ungkapan melibatkan kaedah kesan sampingan.

Atas ialah kandungan terperinci Apakah pengendali `??` (Null Coalescing) 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