C#基础细节东西--装箱与拆箱
装箱和拆箱是值类型和引用类型之间相互转换时要执行的操作。
装箱在值类型向引用类型转换时发生
拆箱在引用类型向值类型转换时发生
值类型是要放在栈上,引用类型需要放在堆上
执行装箱操作时不可避免的要在堆上申请内存空间,并将栈上的值类型数据复制到申请的堆内存空间上
拆箱操作的执行过程和装箱操作过程正好相反,是将存储在堆上的引用类型值转换为值类型并给值类型变量。
装箱操作和拆箱操作是要额外耗费cpu和内存资源的,所以在c# 2.0之后引入了泛型来减少装箱操作和拆箱操作消耗。