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?
FormsAuth = formsAuth ?? new FormsAuthenticationWrapper();
<揭> 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:
FormsAuth = formsAuth != null ? formsAuth : new FormsAuthenticationWrapper();
if (formsAuth != null) FormsAuth = formsAuth; else FormsAuth = new FormsAuthenticationWrapper();
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!