Heim >Backend-Entwicklung >C++ >Was ist der C# Null -Koalescing -Operator (??) und wie funktioniert es?
Im Bereich der C# -Programmierung können Sie auf eine spezielle Syntax mit zwei Fragemarken stoßen ("??"). Dieses mysteriöse Symbol wird als Air Merger Computing bezeichnet, das es wert ist, sorgfältig zu studieren.
Luftverschmelzungsbetriebsymbol: Übersicht
Die Funktion des Luftverzorgungen (dargestellt durch "??" ähnelt dem drei Yuan -Operator (sofort wenn). Sie können einfach den Reservewert angeben, der für das Ergebnis der linken Expression verwendet wird.
Kontextbeispiele
Betrachten Sie das folgende Codefragment:
Hier wird das leere Merger -Computing -Zeichen verwendet, um den Wert der Formsanzvariablen in FormsAuth (falls es nicht leer ist) oder eine neue FormsAuthenticationWrapper -Instanz (wenn FormsAuth leer ist) festgelegt wird.Die bedingte Aussage der Erweiterung ist äquivalent
<code class="language-csharp">FormsAuth = formsAuth ?? new FormsAuthenticationWrapper();</code>
Um das Verhalten des Luftverzerzungsbetreibers besser zu verstehen, können wir es in eine äquivalente bedingte Aussage erweitern:
vereinfachen Sie
weiter
Diese Bedingung kann weiter geschrieben werden:<code class="language-csharp">FormsAuth = formsAuth != null ? formsAuth : new FormsAuthenticationWrapper();</code>
Daher ist das Air Merger Computing-Charakter im Wesentlichen eine Abkürzung zur Anweisung IF-ART S, die eine einfache Möglichkeit bietet, den Sicherungswert anzugeben.
Klassenluftaberblichkeitsbetriebsymbol
<code class="language-csharp">if (formsAuth != null) FormsAuth = formsAuth; else FormsAuth = new FormsAuthenticationWrapper();</code>Sie können mehrere Air Merger Computing verknüpfen, um den leeren Wert nacheinander zu überprüfen. Zum Beispiel:
Diese Anweisung weist die erste nicht -mepty Antwort# zu, um die Variable zu beantworten. Wenn alle Antwort# Werte leer sind, wird die Antwortvariable leer gehalten. Leistungsvorkehrungen
Es ist zu beachten, dass der Luftverfertigungsoperator seinen Ausdruck nur einmal bewertet, unabhängig davon, ob sie wahr oder falsch sind. Dies kann von Vorteil sein, wenn einer der Ausdrücke Nebenwirkungen hat.
<code class="language-csharp">string Answer = Answer1 ?? Answer2 ?? Answer3 ?? Answer4;</code>
Das obige ist der detaillierte Inhalt vonWas ist der C# Null -Koalescing -Operator (??) und wie funktioniert es?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!