码迷,mamicode.com
首页 > 其他好文 > 详细

装箱和拆箱

时间:2015-12-05 19:19:29      阅读:122      评论:0      收藏:0      [点我收藏+]

标签:

装箱和拆箱 

1.概述:
  NET中所有类型都是对象,所有类型的根是System.Object。
  类型分为值类型(value)和引用类型(regerence type)。
  C#中定义的值类型包括:原类型(Sbyte、Byte、Short、Ushort、Int、Uint、Long、Ulong、Char、Float、Double、Bool、Decimal)、枚举(enum)、结构(struct)。
        引用类型包括:类、数组、接口、委托、字符串等。
2.概念:
  
装箱类型是把值类型装换为对象类型;  

    拆箱是把对象类型装换为值类型。

  using System;
  class sample1
  {
    public static void Main()
    {
      int i=10;
      object obj=i;
      Console.WriteLine(i+","+(int)obj);
    }
  }
  其中发生了三次装箱操作和一次拆箱操作。

  第一次object obj=i;将i装箱

  而Console.WriteLine方法用的参数是String对象,因此,i+","+(int)obj中,i需要进行一次装箱(转换成String对象),

  (int)obj将obj对象拆箱成值类型,

  而根据WriteLine方法,比较将(int)obj值装箱成引用类型。

装箱和拆箱

标签:

原文地址:http://www.cnblogs.com/pengyouqiang88/p/5021985.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!