首页 新闻 会员 周边 捐助

Linq查询自定义排序规则问题

0
悬赏园豆:50 [待解决问题]

如下集合:
List<SS> ls=new List<SS>();
ls.Add(new SS() { HS = "a", DS = 5 });
ls.Add(new SS() { HS = "a", DS = 5 });
ls.Add(new SS() { HS = "a", DS = 5 });
ls.Add(new SS() { HS = "a", DS = 5 });
ls.Add(new SS() { HS = "a", DS = 6 });
ls.Add(new SS() { HS = "a", DS = 6 });
ls.Add(new SS() { HS = "a", DS = 7 });
ls.Add(new SS() { HS = "a", DS = 7 });
ls.Add(new SS() { HS = "a", DS = 7 });
ls.Add(new SS() { HS = "b", DS = 5 });
ls.Add(new SS() { HS = "c", DS = 7 });
ls.Add(new SS() { HS = "d", DS = 6 });
ls.Add(new SS() { HS = "b", DS = 7 });
想要的结果为:
a 5
a 6
a 7
a 5
a 6
a 7
b 5
d 6
c 7
a 5
a 5
a 7
b 7
也就是如果HS相同,DS按5,6,7,顺序排序,组不成5,6,7的顺序,按增序排序.HS不同,也按DS等于5,6,7顺序排序,想用Linq查询,水平所限,一直没搞定,还请大家赐教

chonglang的主页 chonglang | 初学一级 | 园豆:152
提问于:2018-10-12 10:44
< >
分享
所有回答(4)
0

能!好好想。

花飘水流兮 | 园豆:13615 (专家六级) | 2018-10-12 10:50
0

实现比较接口,然后调用 orderby 或 sort 方法即可。
参见 https://www.cnblogs.com/leemano/p/4926637.html

空明流光 | 园豆:111 (初学一级) | 2018-10-12 11:49
0
OrderBy(x=>$"{x.HS}:{x.DS}")
慧☆星 | 园豆:5722 (大侠五级) | 2018-10-12 14:16
0

ls.OrderBy(item=>item.HS).ThenBy(item=>item.DS)
OrderBy是主排序,只能用一次,ThenBy是子排序,可以多次

jiulang | 园豆:437 (菜鸟二级) | 2018-11-21 23:50
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册