C# の Null 合体演算子とは何ですか

C No Null He Ti Yan Suan Zitoha Hedesuka



C# は、さまざまなプラットフォーム向けに効率的で堅牢なアプリケーションを作成するために設計された、広く使用されているプログラミング言語です。この言語には、以下を含む多くの高度な機能があります。 null合体演算子 これは、null 値を処理するためのコンパクトな構文を提供することで、複雑なコードを簡素化するのに役立ちます。この演算子は、簡単な処理方法を探している開発者の間で人気になっています。 ヌル 彼らのプロジェクトにおける価値観。

この記事では、 null合体演算子







C# の Null 合体演算子とは何ですか

C# では、 null合体演算子 ?? 。変数が null の場合、その変数はデフォルト値を与えるために使用されます。



たとえば、変数がある場合 バツ これは null にすることができ、デフォルト値 10 を割り当てたい場合は、null の場合は、 null合体演算子 次のように:



int y = x ?? 10





このステートメントは次の値を割り当てます。 10 x が null の場合は y に、それ以外の場合は x の値を受け取ります。

左側のオペランドが null でない場合は、その値を返します。右側のオペランドが検査され、null の場合は結果が返されます。あるいは、左側のオペランドが非 null と評価された場合、右側のオペランドは評価されません。



を使用せずにコードを記述する従来の方法 null合体演算子 は:

もしも ( 結果はnullです )

戻る 新しいリスト < > ( ) ;

戻る 結果;

これを、次のコマンドを使用して、null 以外のデフォルト値と null チェックの両方を含む 1 行に要約できます。 null合体演算子 :

戻る 結果 ??新しいリスト < > ( ) ;

覚えておくべき重要な点 null合体演算子 それは:

  • 変数は ?? の左側のオペランドでなければなりません。オペレーター。
  • ??= 演算子の左側のオペランドを null 非許容型にすることはできません。
  • null 合体演算子はオーバーロードできません。
  • null 合体演算子は右結合です。これは、 a ??= b ??= c のような式は、 ??= (b ??= c) として評価されることを意味します。

Null 合体演算子の使用法

の用途 null合体演算子 それは:

1: デフォルト値の提供

null 許容型を扱う場合、値が null の場合は、 null合体演算子 例外をスローする代わりにデフォルト値を提供します。

システムを使用する;

公開授業プログラム
{
public static void Main ( )
{
整数? nullableValue = null;
int 値 = nullableValue ?? 10 ;
Console.WriteLine ( 「値は次のとおりです。」 + 値 ) ;
}
}

上の例では、整数を定義します。 null 可能な値 変数に値 0 を与えます。の null合体演算子 次に、nullableValue が null の場合、値変数にデフォルト値 10 を提供するために使用されます。次に、値がコンソールに表示されます。

2: Null 参照例外の回避

オブジェクトや配列などの高度なデータ構造を操作する場合、Null 値により null 参照例外が発生する可能性があります。これらの例外は、 null合体演算子 、デフォルト値を提供します。

システムを使用する;

パブリッククラスmyClass
{
パブリック文字列名 { 得る; 設定 ; }
パブリック整数ID { 得る; 設定 ; }
}
公開授業プログラム
{
public static void Main ( )
{
myClass 人 = null;
文字列名 = 人?.名前 ?? '知らない' ;
整数 ID = 人物?.ID ?? 0 ;
Console.WriteLine ( '名前: ' + 名前 ) ;
Console.WriteLine ( 「ID:」 + ID ) ;
}
}

名前 ID の属性です 私のクラス 上記のコードのクラス。安全にアクセスするために 名前 ID person オブジェクトのプロパティを取得し、デフォルト値が null の場合は、person 変数を null に設定し、null 条件演算子 (?.) と null合体演算子 (??)。次に、名前と ID の値がコンソールに表示されます。

3: 冗長な if-else 条件の削除

また、null 合体演算子を使用して、冗長な演算子の必要性を排除し、コードをより簡潔で読みやすくすることもできます。 if-else条件

例えば:

システムを使用する;

名前空間の例
{
クラスmyClass
{
静的ボイドメイン ( [ 引数 )
{
整数? nullableValue = null;
int 値;
もしも ( null 可能な値 = ヌル )
{
値 = nullableValue.Value;
}
それ以外
{
値 = 10 ;
}
Console.WriteLine ( 「値は次のとおりです。」 + 値 ;
}
}
}

上記のコードでは、null 合体演算子 ?? の値を割り当てるために使用されます null 可能な値 貴ぶ。もしも null 可能な値 が null でない場合、値は次と同じ値になります。 null 可能な値 。もしも null 可能な値 null の場合、値は 10 になります。 if-else 条件が不要になり、コードが短くなり、理解しやすくなりました。

結論

null合体演算子 C# の は、開発者がプロ​​ジェクト内で null 値を処理する方法を簡素化する強力な機能です。この演算子は、null の可能性がある変数にデフォルト値を割り当てるための、コンパクトで効率的かつ柔軟な構文を提供します。を使用することで、 null合体演算子 、開発者は、より読みやすく、保守しやすく、効率的なコードを作成できるため、開発プロセスの時間と労力を節約できます。