根据两个标准C#对列表进行分组
本文关键字:列表 标准 两个 | 更新日期: 2023-09-27 17:58:32
我有一个列表
Class => Second Third Second Fourth Fifth Second
Position => 2 3 2 5 1 3
我想创建一个新的列表,它有相同的类以及相同的Positon
即新列表
Class => Second Second
Postion => 2 2
Class => Second
Position => 3
Class => Third
Position => 3
等等
我可以在父列表上使用多个GroupBy来生成这些不同的列表吗?或者首先我应该按"类别"然后按"职位"分组?
。。。关于如何同时通过两件事进行分组:
var groupedByTwoThingsAtOnce = myList
.GroupBy(i => new { Class = i.Class, Position = i.Position });
同时按position
和class
分组。一个GroupBy()
。
例如:
var groupedByTwoThingsAtOnce = myList
.GroupBy(i => new { Class = i.Class, Position = i.Position });
您可以使用匿名类型进行分组,然后使用GroupBy任意数量的属性。可能类似于以下
.GroupBy(item => new {ClassGroup = item.Class, PositionGroup = item.Position})
如果你可以使用匿名类型(例如,如果你需要返回当前方法的分组结果),你也可以尝试使用Tuple
.GroupBy(item => new Tuple<string, int>(item.Class, item.Position))