重複の可能性:
Null 許容型は Null 許容型ではありませんか?
GetType が Nullable<Int32> ではなく System.Int32 を返すのはなぜですか?
((int?) 1).GetType()が返されると思っtypeof(int?)ていましたが、返されることがわかりましたtypeof(int):
bool a = ((int?)1).GetType() == typeof(int?); // a is false
bool b = ((int?)1).GetType() == typeof(int); // b is true
それでも、 などのコード((int?) 1).HasValueは問題なくコンパイルおよび実行されます。
intをキャストしてをint?返すのはなぜintですか?
1これは、定数 ( ) を変数に置き換えた場合にも当てはまることに注意してくださいint。