c#装箱和拆箱

来源:互联网 发布:数据库 文章发布在哪 编辑:程序博客网 时间:2024/04/28 17:32


c#装箱和拆箱
概念:
装箱:将值类型转换为引用类型的过程叫做装箱  值类型->引用类型

相反,

拆箱:将引用类型转换为值类型 叫做拆箱     引用类型->值类型

装箱例子:

        int i = 2008;
            object obj = i;
            Console.WriteLine("1 i的值为{0},装箱之后的值{1}",i,obj);
            i = 927;
            Console.WriteLine("1 i的值为{0},装箱之后的值{1}", i, obj);
            Console.ReadLine();

结果: 2008    2008
          927   2008

          从程序运行的结果可以看出,值类型变量的值复制到装箱得到的对象中,装箱后改变值类型变量的值,并不会影响装箱对象的值。


拆箱例子:
        int i = 112;
            object obj = i;
            Console.WriteLine("1 i的值为{0},装箱之后的值{1}", i, obj);
            //拆箱
            int j = (int)obj;
            Console.WriteLine("1 i的值为{0},装箱之后的值{1}", i, j);
            Console.ReadLine();


从结果中看出,拆箱后得到的值类型数据的值与装箱对象相等。