我有返回的代码和IVehicle接口的数组
IEnumerable<IVehicle>
我知道所有这些对象都是Car对象。什么是正确的投射方式
IEnumerable<Car>
到
<Enumerable<Car>
因为我需要将这些传递给另一个需要 FROM `orders`
WHERE `auth_status` = 'ACTIVE') AS `cp_tbl`
WHERE NOT EXISTS (SELECT 1 FROM `wip_summary` WHERE `wk_num` = WEEK(CURDATE()) AND `year` = YEAR(CURDATE()));
答案 0 :(得分:6)
你可以像这样投射:
var allCars = allVehicles.Cast<Car>();
答案 1 :(得分:5)
我不确定这是否真的需要,但可以使用Linq扩展方法完成,如下所示。
IEnumerable<Car> Cars = allVehicles.Cast<Car>();
但是,如果allVehicles
中的某个成员不 a Car
,则会引发异常;如果需要,可以如下规避这一点。
IEnumerable<Car> Cars = allVehicles.OfType<Car>().Cast<Car>();