关于C#引用类型的转换
是不是转换的是对象的引用的类型,而不是转换引用所指向的对象的类型。

解决方案 »

  1.   

    当然了,对于ValueType,会转换对象本身,执行装箱
      

  2.   

    Convert.ToXXXX方法可能会转换引用对象的类型,
      

  3.   

    1、从值类型到引用类型叫“装箱”,如将一个int i 转换为一个object obj,系统将在内存堆上给你分配一块内存,将int变量的值存放进去,并将obj指向这个内存地址。2、从引用类型转换为值类型叫“拆箱”。需要注意的是,装箱前的变量类型是什么类型,拆箱的时候就必须拆成这个类型或其可以转换的类型。比如装箱前室一个float,拆箱后可以是double,但绝不可拆成int3、引用类型的转换一般就是类型转换,不是装箱或拆箱,不涉及内存区域的改变。好比有个东西就在那里,只是说你怎么看它而已。比如说有条狗在哪,你可以将它看成狗,同样你也可以把它看成动物。
    Dog dog = new Dog();
    Animal an = (Animal)dog;或者:
    Animal an = new Dog();