c# – IList到IList

前端之家收集整理的这篇文章主要介绍了c# – IList到IList前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有几个课程:
  1. class Vehicle
  2. {
  3. }
  4.  
  5. class Car : Vehicle
  6. {
  7. }

我有一个派生类的列表:
的IList<汽车和GT;汽车;

我想将列表转换为基类,并尝试:
的IList<车载> baseList = cars as IList< Vehicle&gt ;; 但我总是空值.也

  1. cars is IList<Vehicle> evaluates to be false.

如果我执行以下操作,我可以将项目添加到列表中:

  1. List<Vehicle> test = new List<Vehicle> ();
  2.  
  3. foreach ( Car car in cars )
  4. {
  5. test.Add(car);
  6. }

我得到我的名单,但我知道必须有一个更好的方法.
有什么想法吗?

解决方法

使用 IEnumerable<T>.Cast
  1. IList<Vehicle> vehicles = cars.Cast<Vehicle>().ToList();

或者,您可能会根据您希望处理源车列表的方式避免将其转换为列表.

猜你在找的C#相关文章