Ich sehe mir den generierten Code von ASP.NET MVC 1.0 an und habe mich gefragt; Was bedeuten die doppelten Fragezeichen?
%Vor%?? Null Koaleszierender Operator - & gt; Was bedeutet Koaleszenz?
Dies ist der Operator null-coalescing . Es wird den Wert auf der linken Seite zurückgeben, wenn dieser Wert nicht Null ist, sonst der Wert auf der rechten Seite (auch wenn es Null ist). Sie werden oft miteinander verkettet und enden mit einem Standardwert.
Es ist der Null-Koaleszenz-Operator
Von MSDN
Das ?? Betreiber heißt der Null-Koaleszenz-Operator und wird verwendet Definieren eines Standardwerts für a Nullable-Werttypen sowie Referenztypen. Es gibt das zurück linker Operand, wenn es nicht null ist; sonst gibt es das Recht zurück Operand.
Ein Nullwerttyp kann einen Wert enthalten, oder es kann undefiniert sein. Das ?? Der Operator definiert den Standardwert für zurückgegeben werden, wenn ein Nullable-Typ ist einem Nicht-Nullable-Typ zugewiesen. Ob Sie versuchen, einen Nullwert zuzuweisen Geben Sie einen Wert ein, der keine Nullwerte zulässt ohne die ?? Betreiber, Sie generiert einen Kompilierungsfehler. Ob Sie verwenden einen Cast und den NULL-Wert Typ ist derzeit undefiniert, ein InvalidOperationException-Ausnahme wird geworfen.
Weitere Informationen finden Sie unter Nullable Typen (C # -Programmierhandbuch).
Das Ergebnis einer ?? Betreiber ist nicht als eine Konstante angesehen, auch wenn beide Argumente sind Konstanten.
Es ist der Null-Koaleszenzoperator. Wenn der Wert auf der linken Seite Null ist, wird der Wert auf der rechten Seite zurückgegeben.
Wenn formsAuth null ist, wird der Wert auf der rechten Seite zurückgegeben (new FormsAuthenticationService ()).
Tags und Links c#