概要
UnityのC#ではnull合体演算子(??)やnull条件演算子(?.)を使用しても特にエラーが表示されたりすることはありません。ですがこういう事もあったという体験談を共有したいと思います。
本文
以下のようなnull合体演算子(??)とnull条件演算子(?.)を使ったコードをUnityEditorで実行すると特に問題はなく思った通りの動きをしてくれました。
return testList?.Values.Select(data => data.name).ToList() ?? new List<Test>();
でもビルドして実機で動かしてみると正しく動作してくれませんでした。
調べてみると、UnityのC#では少し特殊なようでこれらは正常に動作しないこともあるとのことでした
UnityEditor上では正常に動いていてもビルドしたら思った通りに動かないこともありますので頭の片隅に置いておくと幸せになれるかもしれない。というお話でした!
補足
関連記事リンク
【Unity】Null伝搬(条件)演算子とUNT0008