ホームページ  >  記事  >  バックエンド開発  >  C# で 2 つの疑問符 (??) は何を意味しますか?

C# で 2 つの疑問符 (??) は何を意味しますか?

WBOY
WBOY転載
2023-09-11 19:25:02853ブラウズ

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

これは null 合体 演算子です。 null 合体演算子は、左側のオペランドが null でない場合は左側のオペランドの値を返し、それ以外の場合は右側のオペランドを評価してその結果を返します。 ?? 演算子は、左側のオペランドが非 null と評価された場合、右側のオペランドを評価しません。

Null 許容型は、未定義または型ドメインの値を表すことができます。左側のオペランドが null 許容型の場合、?? 演算子を使用して適切な値を返すことができます。 ?? 演算子を使用せずに null 許容値型を null 非許容値型に代入しようとすると、コンパイル時エラーが発生し、キャストを強制すると InvalidOperationException がスローされます。

Null-Coalescing 演算子 (??) の利点は次のとおりです -

  • Null 許容項目 (値の型と参照型) のデフォルト値を定義するために使用されます)。

  • 実行時の InvalidOperationException 例外を防ぎます。

  • これは、多くの冗長な「if」条件を排除するのに役立ちます。

  • #これは参照型と値型に適用されます。

  • コードが整理されて読みやすくなります。

デモンストレーション

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

出力

上記の例の出力は次のとおりです。

えええええ

以上がC# で 2 つの疑問符 (??) は何を意味しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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