C#-装箱与拆箱

对于值类型与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;  //拆箱操作

拆箱是装箱的逆过程,但是必须注意,装箱和拆箱必须遵循类型兼容的原则

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值