装箱和拆箱是什么?
根据数据类型按照储存方式可以分为 值类型 和 引用值类型,两者可以互相转换,值类型转换为引用类型称为装箱,引用类型转换为值类型就是拆箱。
装箱
装箱是将值类型实例转换为引用类型实例。
引用类型可以是对象类或接口。
拆箱
拆装箱会将操作转换为原始值类型,从而反转操作
int i=123;
object o=i; //装箱
int j=(int)o; //再拆箱
值类型:
值类型变量可以直接分配给一个值
值类型 基本数据类型 整型:int 长整型:long
浮点型:float
双精度型:double
字符型:String 布尔型: bool 枚举类型 枚举: enum 结构类型 结构:struct 引用类型 类 基类:System.Object 字符串:String 自定义类:class 接口 接口:interface 数组 数组:int[] string[]
注意:
使用值方式(不用ref修饰) 传递值类型参数时,参数在方法中的修改不会保留。
使用值方式(不用ref修饰) 传递引用类型参数时,参数在方法中的修改会保留。
使用引用方式(用ref修饰) 传递值类型和引用类型参数时,参数在方法中的修改都会保留。