装箱拆箱说简单点就是值类型转换成引用类型与引用类型转换成值类型。
说复杂一点:
例如装箱,在创建值类型的时候会在栈上存储一个值,在堆上也会存储一个隐藏的引用类型,这个隐藏的引用类型就是供装箱的时候引用类型直接引用的值,所以原来的值类型的值不受影响,拆箱与装箱一样,在创建引用类型的时候也会在栈上创建一个隐藏的值类型供拆箱时调用。
参考资料:C#高级编程第十版 C#6 & .NET CORE 1.0 236页
装箱拆箱说简单点就是值类型转换成引用类型与引用类型转换成值类型。
说复杂一点:
例如装箱,在创建值类型的时候会在栈上存储一个值,在堆上也会存储一个隐藏的引用类型,这个隐藏的引用类型就是供装箱的时候引用类型直接引用的值,所以原来的值类型的值不受影响,拆箱与装箱一样,在创建引用类型的时候也会在栈上创建一个隐藏的值类型供拆箱时调用。
参考资料:C#高级编程第十版 C#6 & .NET CORE 1.0 236页