在C#中,如果我说有一个
public Class Foo
{
public int id { get; set;}
public string data { get; set}
}
我有一个Foo列表,ID为1,2,5,1,5,5,8。如何将Foo分组到自己的列表中,每个列表都有一个id。示例第一个列表将具有id = 1的2个foos,另一个列表具有5个等等的3个foos ..
答案 0 :(得分:1)
var results = from f in fooList
group f.data by f.id into g
select new { id = g.Key, data = g.ToList() };
答案 1 :(得分:0)
var fooGroups = fooList.GroupBy(f => f.id);
答案 2 :(得分:0)
var foogroups = list.GroupBy(x => x.id);
foreach (IGrouping<int, Foo> group in foogroups)
{
// do something
int i = 0;
}