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

Welche Operatoren stellt C# zur Verarbeitung von Nullwerten bereit?

WBOY
Freigeben: 2023-09-23 17:57:02
nach vorne
1202 Leute haben es durchsucht

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";
Nach dem Login kopieren

in C# durch den folgenden Ausdruck -

string resultTwo = value ?? "default_value";
Nach dem Login kopieren

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
   }
}
Nach dem Login kopieren

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";
Nach dem Login kopieren

Verwenden Sie den folgenden Ausdruck.

result ??= "default_value";
Nach dem Login kopieren

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();
   }
}
Nach dem Login kopieren

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();
Nach dem Login kopieren

in C# durch den folgenden Ausdruck -

string result = instance?.Method();
Nach dem Login kopieren

Betrachten Sie das folgende Beispiel.

Beispiel

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

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)
   }
}
Nach dem Login kopieren

Ausgabe

default_choice
default_choice
Nach dem Login kopieren

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!

Quelle:tutorialspoint.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage