c# – IList到IList

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

class Car : Vehicle
{
}

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

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

cars is IList<Vehicle> evaluates to be false.

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

List<Vehicle> test = new List<Vehicle> ();

foreach ( Car car in cars )
{
   test.Add(car);
}

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

解决方法

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

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

猜你在找的C#相关文章