运行时类型检查和拆箱

时间:2015-09-29 10:42:19

标签: c# casting type-conversion

此代码已编译。

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

发生了什么事?

0 个答案:

没有答案