【C#超入門】null判定を簡素に行う方法

C# Null判定

今回はnull判定を簡素に行う方法を解説していきます。

null条件演算子?やnull合体演算子??を使うことでシンプルなコードを記述することが可能なので、ぜひ最後までご覧になってくださいね。

目次
スポンサーリンク

null条件演算子を使ってnullアクセスを回避する

null判定しない場合にはnullアクセス時点でエラーとなってしまいます。

null条件演算子?を使うことでエラーを回避して処理することが可能となります。

サンプルコード

string str = null;
Console.WriteLine(str?.Length);

strLengthの間に?を入れることにより、strnullだった場合はアクセスを行いません。

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を代入できないintdoubleなどの基本型に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.11

int型のaとdouble型のbの後ろに?を付けることでnullを代入することに成功しました。

また、abnullになっていることでnull合体演算子??により、nullだった場合に値を代入することもできました。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

都内の精密機器を作っている会社に勤務している14年目のエンジニアです。趣味は美味しいものを食べることとゴルフ。プログラムについて今まで学んだことをわかりやすく発信するサイトを目指しています。

コメント

コメントする

目次