以下是我从其他服务获取列表对象的数据的顺序。
如何按以下顺序对上面的列表顺序进行排序?
0级班
0级S级轿车
1级班
1级S级轿车
2级班
2级S级轿车
0级课程
0级S-课程
1级课程
1级S-Lesson
2级课程
2级S-Lesson
到目前为止,我已尝试过如下操作,但只获得了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);
以下是我尝试应用的排序逻辑:
对此有任何帮助建议将不胜感激!
答案 0 :(得分:3)
myList.OrderByDescending(x => x.ProgramId)
.ThenBy(x => x.Level)
.ThenByDescending(x => x.Special)
答案 1 :(得分:1)
这将产生您所要求的订单:
myList = myList.OrderByDescending(x => x.ProgramId)
.ThenBy(x => x.Level)
.ThenBy(x => x.Special);
我不知道为什么你认为这不起作用,但我现在已经测试了它,它完全符合你的规范。
答案 2 :(得分:-1)
.OrderBy(x => x.Level).ThenBy(x => x.ProgramDescription)