c# - 通过匿名方法订购

标签 c# .net linq compiler-errors sql-order-by

关于How to cast while Sorting?,我尝试了以下答案之一。

vehicleList.OrderBy(c=>
{
    Car car = c as Car;
    if (car != null)
        return car.ModelName
    else
        return "";
}

但这会导致编译器错误:

The type arguments for method 'System.Linq.Enumerable.OrderBy(System.Collections.Generic.IEnumerable, System.Func)' cannot be inferred from the usage. Try specifying the type arguments explicitly.



这有什么问题?如何纠正?

我想要达到的目标如下:
  • 如果对象的类型为Car
  • ,则按ModelName排序
  • 否则,如果对象id为Train类型,则为TrainName。
  • 最佳答案

    这样可以解决错误:

    var sortedVehicles = vehicleList.OrderBy<Vehicle, string>(c=>
        {
            ...
        });
    

    关于c# - 通过匿名方法订购,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14951618/

    相关文章:

    c# - 如何将位图转换为图像

    c# - 如何将日期时间参数提交给 WCF REST 服务

    c# - 在 WPF DataGrid 中单击编辑

    c# - LINQ 按日期降序分组,按时间升序排序

    C# Nullable<T> 查询理解 - "expression is always true"警告

    c# - 如何循环遍历 c# .net 中目录中的所有文件?

    c# - LINQ to SQL - 如何高效地对多个条件执行 AND 或 OR 搜索

    c# - Javascript : call a C# function

    c# - 帐户和安全窗口服务之间没有映射

    .net - 处理 XElement null 值