今天先记录一下我对装箱(boxing)和拆箱(unboxing)的理解,想要理解这个概念,你一定要知道什么是值类型和引用类型。
C#的类型可以分为值类型和引用类型。
值类型: 堆栈上分配内存。 如int,structure。
引用类型: 在堆上分配内存。 如string,class。
装箱转换是指将一个值类型隐式地转换成一个object 类型或者把这个值类型
转换成一个被该值类型应用的接口类型interface-type 把一个值类型的值装箱也
就是创建一个object 实例并将这个值复制给这个object 比如
int i = 10;
object obj = i;
用下图可以表示装箱的过程: