【发布时间】:2017-06-04 12:26:18
【问题描述】:
我有一个list 的对象。每个对象都有这些组件:index, countNr, descA, descB.
我如何按(可能是 LINQ)这个 list 和 countNr 值分组?
喜欢:
列表 = {(1,3,a1,b1), (2,2,a2,b2), (3,2,a3,b3), (4,1,a4,b4), (5,1,a5,b5), (6,1,a6,b6), (7,1,a7,b7)}
我现在想要另一个newList 列表,其中该列表中的位置表示countNr 编号,例如:
newList = {{(7,1,a7,b7), (6,1,a6,b6), (5,1,a5,b5), (4,1,a4,b4)}, {(3,2,a3,b3), (2,2,a2,b2)}, {(1,3,a1,b1)}}
【问题讨论】:
-
请显示输入列表的有效编译示例以及您尝试过的内容(使用 linq)。按用法简单分组的例子很多
-
也许这样:var results = myList.GroupBy(x => ((object[])x)[1]).OrderBy(x => x.Key).Select(x => x .OrderByDescending(y => ((object[])y)[0])).SelectMany(x => x).ToList();
-
请听从 Gilad Green 的建议。