关于如何在排序时进行投射?,我尝试了以下答案之一。
vehicleList.OrderBy(c=>
{
Car car = c as Car;
if (car != null)
return car.ModelName
else
return "";
}
但它给出了编译器错误:
无法从用法中推断方法“System.Linq.Enumerable.OrderBy(System.Collections.Generic.IEnumerable, System.Func)”的类型参数。尝试明确指定类型参数。
这有什么问题?如何纠正?
我试图实现的目标如下:
- 如果对象是 Car 类型,则按 ModelName 排序
- 否则,如果对象 ID 为 Train 类型,则为 TrainName。