码迷,mamicode.com
首页 > 其他好文 > 详细

装箱拆箱

时间:2020-01-14 13:11:47      阅读:61      评论:0      收藏:0      [点我收藏+]

标签:示例   dog   size   过程   需要   font   不同   简单   int   

装箱拆箱

放入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)

{
}

技术图片

 

 

显式转换:

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

技术图片

装箱拆箱

标签:示例   dog   size   过程   需要   font   不同   简单   int   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!