Dies ist der Null-Koaleszenz-Operator . Der Nullkoaleszenzoperator gibt den Wert seines linken Operanden zurück, wenn der linke Operand nicht null ist; andernfalls wertet er den rechten Operanden aus und gibt sein Ergebnis zurück. Der ??-Operator wertet seinen rechten Operanden nicht aus, wenn der linke Operand einen Wert ungleich Null ergibt.
Nullable-Typen können undefinierte Werte oder Werte aus der Typdomäne darstellen. Wenn der linke Operand einen nullbaren Typ hat, können wir den ??-Operator verwenden, um den entsprechenden Wert zurückzugeben. Wenn wir versuchen, einen Nullable-Werttyp einem Nicht-Nullable-Werttyp zuzuweisen, ohne den ??-Operator zu verwenden, erhalten wir einen Fehler bei der Kompilierung, und wenn wir eine Umwandlung erzwingen, wird eine InvalidOperationException ausgelöst.
Das Folgende sind die Vorteile des Null-Coalescing-Operators (??):
Er wird verwendet, um Standardwerte für nullfähige Elemente (Werttypen und Referenztypen) zu definieren.
Es verhindert InvalidOperationException zur Laufzeit.
Es hilft uns, viele überflüssige „Wenn“-Bedingungen zu eliminieren.
Es funktioniert für Referenztypen und Werttypen.
Code wird organisiert und lesbar.
Demonstration
using System; namespace MyApplication{ class Program{ static void Main(string[] args){ int? value1 = null; int value2 = value1 ?? 99; Console.WriteLine("Value2: " + value2); string testString = "Null Coalescing"; string resultString = testString ?? "Original string is null"; Console.WriteLine("The value of result message is: " + resultString); } } }
Die Ausgabe des obigen Beispiels ist wie folgt.
Value2: 99 The value of result message is: Null Coalescing
Das obige ist der detaillierte Inhalt vonWas bedeuten zwei Fragezeichen zusammen (??) in C#?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!