null許容型にnullが入った時に0比較でどうなるか実験してみた。
int? nullableInt = null; if(nullableInt == 0) { Debug.Log("int? null is zero"); } if(nullableInt == null) { Debug.Log("int? null is null"); } if((int)nullableInt == 0) { Debug.Log("int? null is zero"); }
nullableInt == 0の比較はnullときちんと区別していたのでif文は通らない(false)
(int)nullableIntでのキャストはダメだった。
InvalidOperationException: Nullable object must have a value. System.Nullable`1[System.Int32].get_Value () (at