C#装箱和拆箱。

装箱:值类型-->引用类型。

拆箱:引用类型-->值类型

装箱:把值类型拷贝一份到堆里。反之拆箱。 

具有父子关系 是拆装箱的条件之一。

所以:

class Program
    {      
        static void Main(string[] args)
        {
            //不是装拆箱   (类型转换)
            int n = 100;
            string s = Convert.ToString(n); //根据值在堆里创建,不是复制
            int m = int.Parse(s);
            //是装拆箱
            int x = 100;
            object o = x;
            int y = (int)o;
        }    
    }

 装的什么类型,拆的时候也必须是对应类型。

使用方法时看是否装拆箱:看需要的参数和传入的参数的集体类型。

使用泛型集合避免装拆箱。

posted @ 2019-03-14 14:59  张玉昊  阅读(396)  评论(0编辑  收藏  举报