C#语法拾取(3)--装箱和拆箱

装箱(boxing)和拆箱(unboxing)

装箱和拆箱机制使得在C#类型系统中,任何值类型、引用类型和object类型之间进行转换,我们称这种转化为绑定连接。简单的说,有了装箱

和拆箱的概念,对任何类型的值来说最终我们都可以看作是obect类型。

1、装箱转换

   装箱转换是指将一个值类型隐式地转换成一个object类型,或者把这个值类型转换成一个被该值类型应用的接口类型(interface-type)。

把一个值类型的值装箱,也就是创建一个object实例并将这个值复制给这个object。比如:
   int i = 10;
   object obj = i;
也可以用显示的方式来转换

   int i = 10;
   object obj = object(i);

2、拆箱转换

   和装箱转换正好相反,拆箱转换是指将一个对象类型显式地转换成一个值类型,或是将一个接口类型显式地转换成一个执行该接口的值类

型,拆箱的过程分为两步:首先,检查这个对象实例,看它是否为给定的值类型的装箱值。然后,把这个实例的值拷贝给值类型的变量。比如


   int i = 10;
   object obj = i;
   int j = (int)obj;

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

和海风

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值