Rumah >pembangunan bahagian belakang >C++ >Apakah pengendali `??` (Null Coalescing) dalam C#?
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
<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!