C#的基本数据类型装箱后,如果要拆箱,那么在拆的时候一定要保证,强转的类型和之前是一样的,否则会报异常。
拿Int32数据类型来举例:
如下的写法是正确的:
1 Int32 a = 12; 2 object b = (object)a; 3 Int32 c = (Int32)b;
如下的写法是错误的:
1 Int32 a = 12; 2 object b = (object)a; 3 Int64 c = (Int64)b;
但是,如下的写法是可以正确运行的:
1 Int32 a = 12; 2 object b = (object)a; 3 Int64 c = Convert.ToInt64(b);