C#のNullに関する文法、演算子
C#のnullに関する情報をいくつか紹介します
Null条件演算子 (null-conditional operator):
C# 6.0以降では、?.
を使用して、オブジェクトがnullでない場合にのみメンバーにアクセスできます。例えば、obj?.Property
は、obj
がnullでない場合にのみProperty
にアクセスします。
Null許容参照型 (nullable reference types):
C# 8.0以降では、null許容参照型を使用して、nullになり得る参照型を明示的に表現できます。コンパイラはnull参照エラーを検出します。null許容参照型を使用するには、プロジェクトの設定で#nullable enable
を有効にする必要があります。
Null合体演算子 (null-coalescing operator):
??
を使用すると、nullでない場合には左のオペランドを、nullの場合には右のオペランドを返すことができます。例えば、var result = nullableValue ?? defaultValue;
は、nullableValue
がnullでない場合はnullableValue
を、nullの場合はdefaultValue
をresult
に代入します。
null条件式 (null-conditional expression):
C# 9.0以降では、null条件演算子を使用して式内でnull条件式を作成できます。nullの場合に式全体がnullを返すか、nullでない場合には値を返すような式を簡潔に記述できます。例えば、var result = nullableObject?.Length ?? -1;
は、nullableObject
がnullでない場合はLength
を取得し、nullの場合は-1をresult
に代入します。
Null許容参照型の警告抑制:
特定の行やコードブロックで、Null許容参照型の警告を抑制したい場合は、#nullable disable
プリプロセッサディレクティブを使用できます。ただし、警告を抑制することで、コンパイラがnull参照エラーを検出しなくなるため、注意が必要です。
これらはC#でnullを扱う際の便利な機能やテクニックの一部です。詳細な情報や具体的な使用例については、C#のドキュメントやリファレンスを参照してください。
ディスカッション
コメント一覧
まだ、コメントがありません