我正在获得下面的算术溢出异常。为什么CType
不处理它应接受任何对象的长值(来自IntPtr
变量)?这里的工作是什么?
异常:算术运算导致溢出
注意:我在VS2013中使用.Net 2.0
CODE
Dim testValue As Long
testValue = 919016853520 'It can be 0 also sometimes.
Dim lHkey2 As IntPtr
'lHkey2 = testValue
lHkey2 = IntPtr.op_Explicit(testValue)
If (CType(lHkey2, Boolean)) Then
Console.WriteLine("A")
Else
Console.WriteLine("B")
End If
答案 0 :(得分:0)
问题可能与在32位操作系统上定义IntPtr(64位)有关。
请参阅: https://msdn.microsoft.com/en-us/library/837ksy6h(v=vs.110).aspx