C#中的ArrayList.Add()方法添加的都是引用类型吗?如果传的是值类型会引起装箱操作吗?读取其中的值的时候会有拆箱操作吗?

解决方案 »

  1.   

    如果传的是值类型会引起装箱操作吗?
    会有装箱操作读取其中的值的时候会有拆箱操作吗?
    会有拆箱操作C#中的ArrayList.Add()方法添加的都是引用类型吗?
    默认是object类型,会转化为引用类型
      

  2.   

    个人意见:
    ArrayList的元素都是object,Add()方法是其继承的ICollection接口的实现。
    box与unbox并不是发生在Add时,而是可能发生类型转换时。
    两者没有必然的联系。现在更推荐使用泛型
      

  3.   

    使用泛型容器
    List<int>
    List<double>
    ....