如下集合:
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查询,水平所限,一直没搞定,还请大家赐教
能!好好想。
OrderBy(x=>$"{x.HS}:{x.DS}")
ls.OrderBy(item=>item.HS).ThenBy(item=>item.DS)
OrderBy是主排序,只能用一次,ThenBy是子排序,可以多次