首页 > 其他 > 详细

装箱拆箱

时间:2020-01-14 12:12:10      阅读:68      评论:0      收藏:0      [点我收藏+]

装箱拆箱

放入object和取出过程

 

装箱:根据值类型的值,在堆上创建一个完整的引用类型对象,并返回对象的引用,是一种隐式转换

就是将值类型转换为引用类型

有时候需要将值类型转化为引用类型来进行统一的操作和统一的存储

装箱示例:

int i=3//这个是int类型的值类型,值为3
object oi=null;
oi=i;

装箱的本质就是在堆上创建了引用类型的副本,新创建的引用类型和原来的值类型相互独立。

 

 

拆箱:将装箱后的对象转换回值类型的过程,是一种显示转换,需要手动完成

int j=(int)oi

自定义转换

为自己的结构或者类定义显式或隐式转换,为了让结构或者类可以变成一个预期相关的类型,并且使这种转换更加简单。

public static explicit(显式)/ implicit(隐式) operator 没有函数名称

显式需要用到括号强制转换。

pubilc static--静态方法 implicit--隐式 operator--转换

pubilc static--静态方法 explicit--显式 operator--转换

隐式转换:

public static implicit operator Dog(Cat cat)

{
}

技术分享图片

 

 

显式转换:

隐式转换和显式转换的调用不同

技术分享图片

装箱拆箱

原文:https://www.cnblogs.com/sunmarvell/p/12191260.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!