Heim >Backend-Entwicklung >C++ >Was ist der C# Null -Koalescing -Operator (??)?
In der C# -Programmierung haben Sie möglicherweise einen mysteriösen Code begegnet:
Diese Codezeile enthält eine Reihe von auffälligen doppelten Fragen "" ", was die Neugier der Menschen verursacht hat. Sind sie eine neue Form eines ternären Computersymbols?
<code class="language-csharp">FormsAuth = formsAuth ?? new FormsAuthenticationWrapper();</code>
enthüllt das Symbol für leere Fusionsbetrieb
Die Antwort liegt im Konzept der Luftverzerrung (??). Ähnlich wie bei Sanyuan (unmittelbar if) Betriebscharakter bietet der Luftverfertigungsbetreiber eine einfache Methode, um zu bewerten, ob der Wert leer ist.
Erweitern Sie den Ausdruck
Erweitern Sie den obigen Ausdruck und erhalten Sie die folgenden logischen äquivalenten Elemente:
erweitern sich weiter in ein vertrauteres Format:
<code class="language-csharp">FormsAuth = formsAuth != null ? formsAuth : new FormsAuthenticationWrapper();</code>Bedeutung und Verwendung
<code class="language-csharp">if (formsAuth != null) FormsAuth = formsAuth; else FormsAuth = new FormsAuthenticationWrapper();</code>Im Wesentlichen ist der Wert des Luftverzerzungsbetreibers der Wert links, wenn der Wert links nicht leer ist. Ansonsten ist es still, wie der Wert rechts. Mit anderen Worten: "Wenn der Wert links nicht leer ist, verwenden Sie ihn ansonsten den Wert rechts."
Dieser Bediener ist besonders nützlich für die Verwendung der Standardwert -Initialisierungsvariablen, um sicherzustellen, dass er während der Programmausführung nicht mepty bleibt. Es kann auch verwendet werden, um mehrere Air -Fusions -Operatoren zu verwenden, um die erste nicht mittelschwere Werte zu gewährleisten. Details erwähnenswert
Obwohl das Konzept der Expansion des oben genannten äquivalent ist, muss beachtet werden, dass der Luftverzerrungsoperator nur jeden Ausdruck einmal bewertet. Dies ist besonders wichtig, wenn einer der Ausdrücke mit der Methode möglicher Nebenwirkungen beteiligt ist.
Das obige ist der detaillierte Inhalt vonWas ist der C# Null -Koalescing -Operator (??)?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!