加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – IList到IList

发布时间:2020-12-15 06:27:38 所属栏目:百科 来源:网络整理
导读:我有几个课程: class Vehicle{}class Car : Vehicle{} 我有一个派生类的列表: 的IList汽车和GT;汽车; 我想将列表转换为基类,并尝试: 的IList车载 baseList = cars as IList Vehiclegt ;; 但我总是空值.也 cars is IListVehicle evaluates to be false. 如
我有几个课程:
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();

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读