以下是我从其他服务获取到列表对象中的数据的顺序。如何使用Linq对列表顺序进行排序?
我怎样才能在下面进行排序上面列表的顺序?
级别0类
级别0 S级
等级1级
第1级S级
级别2类
第2级的S级
级别0课
等级0 S -Lesson
Level 1课
Level 1 S-Lesson
Level 2课
2级S课
到目前为止,我已经尝试如下,但只得到ProgramId“E”的正确顺序。
myList.OrderByDescending(x => x.ProgramId== "E")
.ThenBy(x => x.Level)
.ThenBy(x => x.Special = True)
.ThenBy(x => x.Special = False)
.ThenByDescending(x => x.ProgramId== "B")
.ThenBy(x => x.Level)
.ThenBy(x => x.Special = True)
.ThenBy(x => x.Special = False);
下面是我试图应用排序逻辑:
- 应该基于ProgramId进行排序在前,后跟级别和特殊=假紧随其后,其次是特殊= TRUE。
- 在ProgramId中,排序顺序应该是“E”,然后是“B”。
- 在级别,应当级别0之后1级排序顺序,接着第2级
任何帮助的建议,将不胜感激!
你根本不知道它是如何排序?它看起来不像你指定的东西。它看起来像'ProgramDescription'然后'Level'。 –
感谢您提供更多详细信息@CharlesMager,我在我的问题中描述了排序逻辑。 – seUser