【发布时间】:2013-05-13 20:06:02
【问题描述】:
我有一个List<T>,其中T 是一个自定义对象Cow。现在我使用以下代码根据Color 拆分该列表。
cowGroups = from x in cows
group x by x.Color into y
select y.ToList().ToList();
然后我使用cowGroups 并在其上运行foreach 以对每个Cow 执行一组操作。这个列表实际上是IEnumerable<List<Cow>>
我想要做的是对我最初的List<Cow> 进行双重分组,以便我可以根据它们的颜色和大小进行分组。结果仍应为IEnumerable<List<Cow>>,但每个List<Cow> 将基于组合的颜色和大小对。
一位同事推荐了 ToLookup 方法,但它返回一个键/值对列表,我似乎无法对该对的值部分做任何事情。
我想我正在寻找一种直接进入列表集合的方法,或者将ToLookup 方法的结果转换为列表集合。
【问题讨论】:
标签: c# linq collections