【问题标题】:Order results of LINQ expression by an Enum通过枚举对 LINQ 表达式的结果进行排序
【发布时间】:2015-01-31 01:54:31
【问题描述】:

我有以下模型实体:

public class Itinerary 
{
    public int Id {get; set }
    public DateTime? Date { get; set; }
    public EnumType Type { get; set; }
}

public enum EnumType
{
    Start,
    Intermediary,
    End
}

我想首先根据 Enum(名为 Type 的属性)然后根据 DateTime(名为 Date 的属性)进行排序。我已经尝试过下面的表达式,但这不是由Type first 排序的

var itineraries = t.Itineraries.OrderBy(x => x.Type).OrderBy(x => x.Date).ToList();

如何对我的 LINQ 表达式的结果进行排序,首先按Type(顺序:开始、中间、结束)然后按Date?

原因是因为有时没有定义日期然后我需要按类型排序。

【问题讨论】:

    标签: c# linq


    【解决方案1】:

    使用 ThenBy 进一步排序:

    var itineraries = t.Itineraries.OrderBy(x => x.Type).ThenBy(x => x.Date).ToList();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-04-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多