今回はnull判定を簡素に行う方法を解説していきます。
null条件演算子?やnull合体演算子??を使うことでシンプルなコードを記述することが可能なので、ぜひ最後までご覧になってくださいね。
目次
スポンサーリンク
null条件演算子を使ってnullアクセスを回避する
null判定しない場合にはnullアクセス時点でエラーとなってしまいます。
null条件演算子?を使うことでエラーを回避して処理することが可能となります。
サンプルコード
string str = null;
Console.WriteLine(str?.Length);strとLengthの間に?を入れることにより、strがnullだった場合はアクセスを行いません。
null判定に特化したnull合体演算子を活用する方法
C#にはnull判定に特化した演算子があり、??を使うことで次のように表現することができます。
サンプルコード
string str = null;
str = str ?? “Hello world!!”;
Console.WriteLine(str);実行結果
Hello world!!C# 8.0でnull合体演算子がより一層シンプル化
C# 8.0からリリースされたnull合体演算子を使えば、更にシンプルなコードを記述することができます。
サンプルコード
string str = null;
str ??= “Hello world!!”;
Console.WriteLine(str);実行結果
Hello world!!int型などの基本型にもnullを割り当てられる
null許容型というC#の機能を使うことで、本来はnullを代入できないintやdoubleなどの基本型にnullを割り当てることができるようになります。
以下にサンプルを示します。
サンプルコード
int? a = null;
double? b = null;
Console.WriteLine(a);
Console.WriteLine(b);
a = a ?? 111;
b ??= 1.11d;
Console.WriteLine(a);
Console.WriteLine(b);実行結果
111
1.11int型のaとdouble型のbの後ろに?を付けることでnullを代入することに成功しました。
また、aとbがnullになっていることでnull合体演算子??により、nullだった場合に値を代入することもできました。

コメント