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チェックしよう