重複の可能性:
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
。