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

解决方案 »

  1.   


    System.Int32是.Net Framework对32位整数的标识,MSDN对这种类型标示的称呼是User Type。而int则是c#语言里面的特有称呼(这里它对应的.Net Framework里的System.Int32),MSDN对c#的int的称呼是Keyword。int就是System.Int32的别名而已!在.Net Framework运行库里,有一种最基础的数据类型,叫“基元类型(primitive)”。这种数据类型是只提供给.Net Framework内部使用,外面是看不见的。其实在真正微软的System.Int32的源码中,用到的应该是int32。但是由于int32不是c#提供的类型,所以Reflector会自动把int32逆向为c#的int,这也就是为什么我们会在System.Int32定义中看到int的存在了
      

  2.   


    System.Int32是.Net Framework对32位整数的标识,MSDN对这种类型标示的称呼是User Type。而int则是c#语言里面的特有称呼(这里它对应的.Net Framework里的System.Int32),MSDN对c#的int的称呼是Keyword。int就是System.Int32的别名而已!在.Net Framework运行库里,有一种最基础的数据类型,叫“基元类型(primitive)”。这种数据类型是只提供给.Net Framework内部使用,外面是看不见的。其实在真正微软的System.Int32的源码中,用到的应该是int32。但是由于int32不是c#提供的类型,所以Reflector会自动把int32逆向为c#的int,这也就是为什么我们会在System.Int32定义中看到int的存在了谢谢,既然你说"int则是c#语言里面的特有称呼(这里它对应的.Net Framework里的System.Int32),"我的理解是,int[]就是System.Int32的一个数组对吧? 那么把一个int放进一个Array就是把一个System.Int32放进一个数组对吧? int已经是装箱过的System.Int32?
      

  3.   

    我也认为int和Int32是一样的,数组是存放于堆中的,我以为如果发生了装箱操作,那么是int转成object,不知如果用泛型,会不会装箱?
      

  4.   


    System.Int32是个struct也就是值类型。那么要存放在Array里面,转换成什么类型的"引用类型"呢?Array里面的元素object如何把System.Int32保存成引用类型?谢谢。
      

  5.   

    .net 一切皆是对象
    如果一个class,里面含有一个struct 
    那个struct 装没装箱,想清楚这个就清楚了array
    class A{
     public int d;
    }
    A a1=new A;
    a1.d=100;//这里装箱了没?
      

  6.   

    首先我承认错误,int与System.Int32是一样的东西:
    http://msdn.microsoft.com/en-us/library/5kzh1b5w(v=VS.100).aspx
    其次,ArrayList的Add方法所用参数是Object类型的:
    public virtual int Add(
    Object value
    )所以在int转为Object时会发生装箱操作。