ホームページ  >  記事  >  バックエンド開発  >  C# では null 値を処理するためにどのような演算子が提供されていますか?

C# では null 値を処理するためにどのような演算子が提供されていますか?

WBOY
WBOY転載
2023-09-23 17:57:021159ブラウズ

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

C# には、null 値を処理するための次の 3 つの演算子があります。 -

Null 合体演算子 (??)

を使用すると、値を取得できます。変数の値 (そうでない場合) null、または使用できるデフォルト値を指定します。

これは、C# の次の式 -

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

を次の式 -

string resultTwo = value ?? "default_value";

に置き換えます。これを示す例を次に示します。

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合体代入演算子(??=)

左側の値がnullでない場合は、その値を返します。それ以外の場合は、右側の値を返します。つまり、変数の現在の値が null の場合、変数を何らかのデフォルト値に初期化できます。

C# の次の式を置き換えます -

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

次の式を使用します。

result ??= "default_value";

この演算子は、遅延計算されるプロパティに役立ちます。例: -

Example

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

Null 条件演算子 (?.)

この演算子を使用すると、インスタンスでメソッドを安全に呼び出すことができます。インスタンスが null の場合は、NullReferenceException をスローする代わりに null を返します。それ以外の場合は、メソッドを呼び出すだけです。

C# の次の式を置き換えます -

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

次の式を使用します -

string result = instance?.Method();

次の例を考えてみましょう。

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

リアルタイム デモンストレーション

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

出力

default_choice
default_choice

以上がC# では null 値を処理するためにどのような演算子が提供されていますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。
前の記事:C# のループ手法次の記事:C# のループ手法