您是否曾尝试使用<代码>Convert.ChangeType()方法将价值转换为Nullable<T>
类型? 反之,它将推出<条码>InvalidCastException,指出“不可将Null物体转换为一种价值类型”。
紧靠你的窗户:?System.Convert.ChangeType(null,打字)
出于某种模糊的原因,可替代物被视为价值类型。 例如,typeof(int?) IsValueType
Returntrue
。
对于我来说,由于<代码>Nullable<T>接受null<>/code>,它具有一个类别,而不是一个价值类别。 是否有任何人知道为什么会区别对待?