对于值类型与object类型之间的转换,可以使用装箱和拆箱技术来实现
object类
该类是所有其他引用类型的基类,C#语言中的所有引用类型都直接或间接从Object类中继承,因此,可以将Object类的对象显式转换成任何一种对象
string s=(10).ToString();
装箱
装箱操作时将值类型隐式地转换成Object类型。装箱一个数值会为其分配一个对象实例,并把该数值复制到新对象中
如:
int i=123;
object o=i;
这条装箱语句的执行结果是在对栈中创建了一个对象o,该对象引用了堆上int类型的数值,而该数值是赋给变量i的数值的备份
拆箱
拆箱操作是指显式地把object类型转换成值类型。拆箱操作包括以下两个步骤。
(1)检查对象实例,确认它是否包装了值类型的数
(2)把实例中的值赋值到值类型的变量中
int i=123;
object box=i; //装箱操作
int j=(int)box; //拆箱操作
拆箱是装箱的逆过程,但是必须注意,装箱和拆箱必须遵循类型兼容的原则