C#でのnull条件演算子について

この記事を書いたチーム:frontier
C#でのnull条件演算子について

はじめに 

【エンジニア募集中】フルリモート可◎、売上/従業員数9年連続UP、平均残業8時間、有給取得率90%、年休124日以上 etc.  詳細はこちらから>

ここでは、C#の構文の一つであるnull条件演算子について紹介します。 
null条件演算子は(?)を用いるもので、クラスのメンバーへのアクセス・配列の要素へのアクセス・メソッドの呼び出しなどの際に用いられます。例えば、オブジェクトのメソッドを呼び出す際に、オブジェクトがnullであった場合に、NullReferenceException が発生してまうのを防いでくれるのでnullが入る可能性のある変数を扱う際には便利です。 

null条件演算子の構文 

null条件演算子は、
 クラス?.メンバー 
のように、クラスや配列の後ろに?を付けることで使用します。

クラスのオブジェクトがnullであった場合にはそのままnullが入り、nullでない場合にはメンバーにアクセスします。 

 

条件演算子での書き方 

 

条件演算子を使わない書き方 

 

サンプルコード 

 

null合体演算子 

null条件演算子とよく似た、null合体演算子というものもあるので合わせて紹介します。 

null条件演算子は(??)を用いるもので、(??)の左辺がnullでなければ左辺を返し、nullであれば右辺を返します。 

変数bの値を評価して、nullでなければbをaに代入します。nullであればcをaに代入します。 

 

合体演算子を用いない書き方 

 

サンプルコード 

 

組み合わせ使用例 

勿論この二つを組み合わせて使用することもできます。 

 

サンプルコード 

 

classがnullの場合、null条件演算子によってclass?.memberはnullになるのでclass?.member  ??  0 の右辺の0がnameの値として返ることになります。 

 

終わりに 

いかがだったでしょうか。今回紹介させて頂いた二つの演算子は非常に便利なので、ぜひ活用してみてください。 

それでは、最後までご覧いただきありがとうございました。 

【エンジニア募集中】フルリモートも◎(リモート率85.7%)、平均残業8時間、年休124日以上、有給取得率90% etc. 詳細はこちらから>

Smallitのサービス