Heim  >  Artikel  >  Backend-Entwicklung  >  Welche Operatoren stellt C# zur Verarbeitung von Nullwerten bereit?

Welche Operatoren stellt C# zur Verarbeitung von Nullwerten bereit?

WBOY
WBOYnach vorne
2023-09-23 17:57:021096Durchsuche

C# 提供哪些运算符来处理空值?

C# verfügt über die folgenden drei Operatoren zur Verarbeitung von Nullwerten –

Null Coalescing Operator (??)

ermöglicht es Ihnen, den Wert einer Variablen abzurufen, wenn diese nicht null ist, oder einen Standardwert anzugeben, der dies kann verwendet werden.

Es ersetzt den folgenden Ausdruck -

string resultOne = value != null ? value : "default_value";

in C# durch den folgenden Ausdruck -

string resultTwo = value ?? "default_value";

Hier ist ein Beispiel, das dies veranschaulicht.

Beispiel

using System;
class Program{
   static void Main(){
      string input = null;
      string choice = input ?? "default_choice";
      Console.WriteLine(choice); // default_choice
      string finalChoice = choice ?? "not_chosen";
      Console.WriteLine(finalChoice); // default_choice
   }
}

Null-Merge-Zuweisungsoperator (??=)

Gibt den Wert auf der linken Seite zurück, wenn er nicht null ist. Andernfalls wird der Wert auf der rechten Seite zurückgegeben. Mit anderen Worten: Sie können damit eine Variable auf einen Standardwert initialisieren, wenn ihr aktueller Wert Null ist.

Es ersetzt den folgenden Ausdruck in C# -

if (result == null)
result = "default_value";

Verwenden Sie den folgenden Ausdruck.

result ??= "default_value";

Dieser Operator ist für langsam berechnete Eigenschaften nützlich. Zum Beispiel -

Beispiel

class Tax{
   private Report _lengthyReport;
   public Report LengthyReport => _lengthyReport ??= CalculateLengthyReport();
   private Report CalculateLengthyReport(){
      return new Report();
   }
}

Null-Bedingungsoperator (?.)

Mit diesem Operator können Sie Methoden auf einer Instanz sicher aufrufen. Wenn die Instanz null ist, geben Sie null zurück, anstatt eine NullReferenceException auszulösen. Andernfalls wird nur die Methode aufgerufen.

Es ersetzt den folgenden Ausdruck -

string result = instance == null ? null : instance.Method();

in C# durch den folgenden Ausdruck -

string result = instance?.Method();

Betrachten Sie das folgende Beispiel.

Beispiel

using System;
string input = null;
string result = input?.ToString();
Console.WriteLine(result); // prints nothing (null)

Beispiel

Echtzeitdemonstration

using System;
class Program{
   static void Main(){
      string input = null;
      string choice = input ?? "default_choice";
      Console.WriteLine(choice); // default_choice
      string finalChoice = choice ?? "not_chosen";
      Console.WriteLine(finalChoice); // default_choice
      string foo = null;
      string answer = foo?.ToString();
      Console.WriteLine(answer); // prints nothing (null)
   }
}

Ausgabe

default_choice
default_choice

Das obige ist der detaillierte Inhalt vonWelche Operatoren stellt C# zur Verarbeitung von Nullwerten bereit?. 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
Vorheriger Artikel:Schleifentechniken in C#Nächster Artikel:Schleifentechniken in C#