首页 > 解决方案 > 获取 GroubBy() 的结果作为列表>

问题描述

class SomeObject
{
     int Value { get; set; }
     string ID { get; set; }
}

var TheList = List<SomeObject> { ... }

var groupedObjects = TheList.GroupBy(o => o.ID);

返回类型是IEnumerable<IGrouping<SomeObject, string, SomeObject>> 在调试“结果视图”中,项目被正确分组。

我怎样才能得到List<List<SomeObject>>回报?

一个简单ToList()的显然行不通。

标签: c#linq

解决方案


你需要两个ToList()s:

TheList.GroupBy(o => o.ID, c => c)
       .Select(g=>g.ToList())
       .ToList();

推荐阅读