4
經營者的description on MSDN有一句話:爲什麼IntPtr.ToInt32拋出OverflowException異常在64位模式和顯式(IntPtr的到Int32)已不
一個例外是隻有拋出如果value的值需要更多的位 比目前的平臺支持。
而ToInt32
's description沒有,所以我想的標題是不是(爲簡便起見)完全正確,
更正確的問題是:「爲什麼IntPtr.ToInt32
拋出OverflowException
在64位模式的值是配合在的Int32和顯式(IntPtr的到Int32)已不」
在反編譯IntPtr
ToInt32
和運營商看起來非常相似:
public static explicit operator int(IntPtr value)
{
return (int) value.m_value;
}
[ReliabilityContract(Consistency.WillNotCorruptState, Cer.Success)]
public unsafe int ToInt32()
{
return (int) this.m_value;
}
我想知道是什麼讓ToInt32
拋出異常,是不安全的關鍵字?