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の場合はdefaultValueresultに代入します。

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#のドキュメントやリファレンスを参照してください。

C#

Posted by hidepon