欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

C#装箱和拆箱。

程序员文章站 2022-04-08 21:31:56
装箱:值类型-->引用类型。 拆箱:引用类型-->值类型 装箱:把值类型拷贝一份到堆里。反之拆箱。 具有父子关系 是拆装箱的条件之一。 所以: 装的什么类型,拆的时候也必须是对应类型。 使用方法时看是否装拆箱:看需要的参数和传入的参数的集体类型。 使用泛型集合避免装拆箱。 ......

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

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

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

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

所以:

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;
        }    
    }

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

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

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