欢迎来到.net学习网

欢迎联系站长一起更新本网站!QQ:879621940

您当前所在位置:首页 » C# » 正文

热门阅读

装箱与拆箱

创建时间:2011年06月04日 00:15  阅读次数:(6111)
分享到:

 装箱:为了将一个值类型转换为一个引用类型,就要使用一种叫装箱的机制。Int32 a=5;Object o=a;

   对值类型的装箱时内部发生的事情如下:

1,首先在托管堆中分配内存,大小为值类型字段所需内存量加上额外成员(类型对象指针和同步索引块)大小。

2,值类型字段复制到新分配的堆内存。

3,返回对象的引用。

  拆箱:首先,拆箱不是装箱的逆过程,它其实是获取一个指针的过程,指针指向一个对象中的原始值类型。

    拆箱之后,紧接着是字段的复制过程。

在对一个对象拆箱的时候,只能将其转化为原来未装箱的值类型。例如:Int32 x=5; Object o=x; Int16 y=(Int16)o;

这时候就会发生异常。可以这样来写:Int16 y=(Int16)(Int32)o;必须首先转化为原来的类型。

FO/f鄀HY緗汻
来源:
说明:所有来源为 .net学习网的文章均为原创,如有转载,请在转载处标注本页地址,谢谢!
【编辑:Wyf

打赏

取消

感谢您的支持,我会做的更好!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

最新评论

共有评论0条
  • 暂无任何评论,请留下您对本文章的看法,共同参入讨论!
发表评论:
留言人:
内  容:
请输入问题 42+26=? 的结果(结果是:68)
结  果: