Heim  >  Artikel  >  Backend-Entwicklung  >  Was bedeuten zwei Fragezeichen zusammen (??) in C#?

Was bedeuten zwei Fragezeichen zusammen (??) in C#?

WBOY
WBOYnach vorne
2023-09-11 19:25:02853Durchsuche

两个问号在一起 (??) 在 C# 中意味着什么?

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.

Beispiel

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);
      }
   }
}

Ausgabe

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen