C#——类的定义与使用(2)

如题所述

第1个回答  2022-07-15

值类型允许隐式地或显式地转换数据结构。在C#中也允许将任何类型的数据转换为对象,或者将任何类型的对象转换为与之兼容的值类型。
C#把值类型转换为对象的操作称之为装箱,而把对象转换为兼容的值类型的操作称为拆箱。C#的这种装箱和拆箱操作类似于收发邮政包裹,发送包裹之前先装箱打包,收到包裹之后再拆箱解包。
装箱意味着把一个值类型的数据转换为一个对象类型的数据,装箱是 隐式 的转换过程,由系统自动完成,C#中object类是所有类的最终基类,因此可以将一个值类型变量直接赋值给object对象。
例如:

拆箱意味着把一个对象转换为一个值类型数据,拆箱过程必须是显式转换过程。拆箱时先检查对象所引用的数据的类型,确保拆箱前后的数据类型相同,再复制数据值。
例如:

相似回答