search
LoginSignup
5

More than 1 year has passed since last update.

posted at

updated at

【Unity:C#】null条件演算子(?.)

null条件演算子
if文書かずに1行ですっきりするから結構使用してるんだけど

sample
Action callback;
callback?.Invoke();

Unityのオブジェクトに関しては使用してはいけない

sample
// 例として面倒だから定義直下で判定してるけどメンバ変数として持って使用してる場合を想定
GameObject gobj;
gobj?.name;

明示的にnull代入すればセーフだけど
どこかでGameObjectの参照が切れた場合
gobjには"null"が入ってる
nullではなくて"null"

これはnull条件演算子が対応してないので普通にnull参照でエラーになる
※厳密には「== null」での判定はUnity側がoperatorを拡張してくれているから判定できるらしい(そのうち?.も対応されるかも??)

Unityのオブジェクトには普通にnullチェックしよう

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
5