在LINQ中按字段将列表排序到新列表中

时间:2015-12-01 18:07:05

标签: c# linq

在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 ..

3 个答案:

答案 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)

快速举例 See this link for more

var foogroups = list.GroupBy(x => x.id);
foreach (IGrouping<int, Foo> group in foogroups)
{
    // do something
    int i = 0;
}