我今天遇到了一个问题,但我不确定为什么它不能正常工作。
下面的代码示例会崩溃:
下面的代码示例会崩溃:
static void Main(string[] args)
{
int i32 = 10;
object obj = i32;
long i64 = (long)obj;
}
这将导致一个InvalidCastException异常。为什么会出现这种情况?C#不聪明到足以知道对象实际上是int类型吗?
我已经想出了解决方法,但我很好奇为什么上面的代码示例一开始没有起作用。
谢谢, Tim