首页 > 解决方案 > 根据特定顺序在 LINQ 中排序

问题描述

我有以下记录:

ID  Type  TypeID

1   BHD    2
2   BHD    2
3   AUY    4
4   CDL    5
5   BUL    6
6   ZUL    7

我喜欢做的是对其进行排序,以便按照 AUY、BHD 和 CDL 按字母顺序排序并在末尾附加 BUL 和 ZUL 对其进行排序。

    AUY
    BHD
    CDL
    BUL
    ZUL

如何在 Linq 中做到这一点。请注意,我有排序依据的 TypeID。

我有一个这样的foreach:

foreach(ent.OrderBy(s => s.TypeID 中的 var 类型)

标签: linq

解决方案


您始终可以分多个步骤进行排序:

foreach(var types in ent
    .OrderBy(s => s.Type == "BUL" || s.Type == "ZUL" ? 1 : 0)
    .ThenBy(s => s.Type))
{
    // Do your thing here...
}

推荐阅读