Rumah >pembangunan bahagian belakang >C++ >Apa yang dilakukan oleh pengendali tanda tanya (??) dalam C#?

Apa yang dilakukan oleh pengendali tanda tanya (??) dalam C#?

Mary-Kate Olsen
Mary-Kate Olsenasal
2025-01-29 07:54:12149semak imbas

What Does the Double Question Mark (??) Operator Do in C#?

tanda soalan berganda (??) Maksud pengendali pengendali

dalam baris kod berikut:

dua tanda tanya (??) mewakili pengendali penggabungan udara. Tidak seperti pengendali ternary, pengendali penggabungan udara melaksanakan tugasan bersyarat, bukan syarat untuk pelaksanaan.
<code class="language-csharp">FormsAuth = formsAuth ?? new FormsAuthenticationWrapper();</code>

Khususnya, ungkapan

bersamaan dengan:

formsAuth ?? new FormsAuthenticationWrapper()

Keadaan ini diberikan:
<code class="language-csharp">FormsAuth = formsAuth != null ? formsAuth : new FormsAuthenticationWrapper();</code>

Jika tidak batal, ia menyerahkannya kepada
    .
  • formsAuth Jika adalah null, contoh baru FormsAuth diberikan kepada
  • .
  • formsAuth Singkatnya, ini bermakna "Jika FormsAuthenticationWrapper tidak null, gunakan FormsAuth; jika tidak, buat contoh
  • baru".

Tidak seperti simbol pengkomputeran ternary, pengendali penggabungan udara hanya menilai ekspresinya sekali. Oleh itu, jika dipanggil oleh kesan sampingan, kesan sampingannya hanya akan mencetuskan sekali. formsAuth formsAuth Untuk menerangkan selanjutnya, ungkapan berikut akan memberikan jawapan yang tidak pertama untuk menjawab. Sekiranya semua jawapan adalah batal, maka jawapan akan tetap sebagai batal: FormsAuthenticationWrapper

Atas ialah kandungan terperinci Apa yang dilakukan oleh pengendali tanda tanya (??) 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