装箱和拆箱之间的数据类型转换

    技术2022-05-11  81

    基类和派生类都是引用类型的,但转换规则也适用于值类型

    对于结构和基本值类型,不能从其派生,所以基本结构和派生结构之间的转换总是基本类型和System.Object之间的转换

    装箱过程是指从结构或基本类型到Object的转换,而拆箱与此相反,前者是从派生类到基类之间的转换,所以是隐式的,例如:

         Currency balance = new  Currency();

         object base=balance;

    其中Currency是一个结构,而后者是显式的,需强制转换

    object derivedObject = new Currency();

    object baseObject = new object();

    Currency  derived1=(Currency)derivedObject ;

    Currency  derived2=(Currency)baseObject ;//和前面基类到派生类的转换一样,转换不成功,抛出异常

     

    最新回复(0)