List<AbstractClass> list=new List<childClass>();AbstractClassClass是childClass的父类。为什么编译不能通过呢?通过强制转换也不行。List<AbstractClass> list=(List<AbstractClass>)new List<childClass>();
也报不能转换成功。急急,请高手指点。

解决方案 »

  1.   

    List<AbstractClass> 、List<childClass>可以看成是两个不相干的类...
      

  2.   

    可以使用List.ConvertAll<T>()转换,或自己写一个转换函数,应当不是很复杂吧
      

  3.   

    ArrayList 的运行效率要比 List<type> 慢了好多
    楼上的,要学学哦
    呵呵
      

  4.   

    "ArrayList 的运行效率要比 List<type> 慢了好多"这个不见得的,要看什么类型的数据, 像楼主这样的 AbstractClass,不见得差很多
      

  5.   

    使用IList接口试试:List<AbstractClass> list=(IList<AbstractClass>)(new List<childClass>());
      

  6.   

    ArrayList效率慢是体现在值类型的装箱与拆箱上。但是堆类型不存在这个问题。
      

  7.   

    看来我要接分了。哈哈List<AbstractClass> list = new List<childClass>() as List<AbstractClass>;
      

  8.   

    List<AbstractClass> list=new List<AbstractClass>();
    可以Add childClass的
      

  9.   

    List<AbstractClass> list=new List<childClass>();//这样写有什么意义?List<AbstractClass> list=new List<AbstractClass>();
    //同样可以list.Add(new childClass());