分享

值类型与用类型之间的装箱与拆箱操作

 明哥品书 2016-02-24
using System;                               //导入System命名空间
namespace Helloworld                        //声明命名空间Helloworld
{
    class Program                           //声明Program类
    {
        static void Main()                  //程序入口,Main 的返回类型为 void
        {    
ZhuangXiang();             ChaiXiang();                                  
Console.ReadLine();      //控制台类的ReadLine()方法用于输入,结束显示         }         /// <summary>         /// 值类型与引用类型的关系--装箱操作         /// </summary>         public static void ZhuangXiang()          {             //值类型与引用类型的关系--装箱操作             int x = 123;             object obj1 = x;    //装箱操作             x = x + 100;        //改变x的值,此时obj1的值并不会随之改变             Console.WriteLine("x={0}", x);       //x=223             Console.WriteLine("obj1={0}", obj1); //obj1=123                     }         /// <summary>         /// 拆箱         /// </summary>         public static void ChaiXiang()         {             /*当一个装箱操作把值类型转换为一个引用类型时,不需要显式地强制类型转换;             而拆箱操作把引用类型转换到类型时,由于它可以强制转换到任何可以相容的值类型,             所以必须显式地强制类型转换。*/             int x = 123, y;             object obj1 = x;    //装箱             x = x + 100;        //改变x的值,此时obj1的值并不会随之改变                         y = (int)obj1;      //拆箱操作,必须进行强制类型转换             Console.WriteLine("x={0}", x);       //x=223             Console.WriteLine("obj1={0}", obj1); //obj1=123             Console.WriteLine("y={0}", y);       //y=123         }       }     }
     

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多