此代码已编译。
using System.IO;
using System;
class Program
{
static void Main()
{
object obj = 0;
long x = (long) obj;
Console.WriteLine(x);
}
}
在运行时它会抛出此Unhandled Exception:
System.InvalidCastException:无法从源类型转换为 目的地类型 在Program.Main()[0x00000] in:0
[错误]致命的未处理的异常:System.InvalidCastException:不能 从源类型转换为目标类型。
在Program.Main()[0x00000]中:0
编译并正确运行以下块。
static void Main()
{
object obj = 0;
long x = (int) obj;
Console.WriteLine(x);
}
> 0
发生了什么事?