in der folgenden Codezeile:
Zwei Fragenmarken (??) repräsentieren einen Luftverzerzungsbetreiber. Im Gegensatz zum ternären Bediener führt der Luftverfertigungsbetreiber die bedingte Zuordnung aus, nicht die Ausführungsbedingungen.
FormsAuth = formsAuth ?? new FormsAuthenticationWrapper();
Speziell der Ausdruck
äquivalent zu:
formsAuth ?? new FormsAuthenticationWrapper()
FormsAuth = formsAuth != null ? formsAuth : new FormsAuthenticationWrapper();
Wenn nicht null ist, weist es es
formsAuth
Wenn FormsAuth
formsAuth
Kurz gesagt, es bedeutet "Wenn FormsAuthenticationWrapper
nicht null ist, verwenden Sie FormsAuth
; Andernfalls erstellen Sie eine neue Im Gegensatz zu den ternären Computing -Symbolen bewertet der Luftverfertigungsoperator seinen Ausdruck nur einmal. Wenn nach Nebenwirkungen aufgerufen wird, werden seine Nebenwirkungen nur einmal ausgelöst. formsAuth
formsAuth
Um weiter zu erklären, werden die folgenden Ausdrücke die erste nicht mittele Antwort der Antwort zuweisen. Wenn alle Antwort null ist, bleibt die Antwort als null: FormsAuthenticationWrapper
Das obige ist der detaillierte Inhalt vonWas macht der Doppelfragemarke (??) Operator in C#?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!