class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello World!");
int a = 1;
//装箱操作:比较消耗性能“最” box
//值类型隐式转换为object类型或由此值类型实现的任何接口类型的过程
//内部机制:
/*1在堆中开辟内存空间,存储以下三个内容
* ①int
* ②同步索引快
* ③类型对象指针
* 2将值类型的数据复制到堆中
* 3返回堆中新分配对象的地址
*/
object o = a;
//拆箱操作: 也消耗性能 unbox
/*从object类型转到值类型或从接口类型到实现该接口的值类型的显示转换
* 内部机制:
* 1判断给定类型是否是装箱时的类型
* 2返回已装箱实例中属于值类型字段的地址
*/
int b = (int)0;
//拆装箱的作用是什么呢?
//形参是obeject 类型,实参传递值类型,则装箱
//可以通过 重载和泛型 避免。
C#中的拆装箱,与object类型紧密相关
最新推荐文章于 2023-07-28 19:05:14 发布