LINQ查询将结果分组为数组

时间:2011-10-10 12:17:45

标签: c# linq group-by linq-to-objects

假设:

var detailList = new List<DetailItem>();

其中:

class DetailItem
{
    string A;
    MyType B;
}

字段A上的LINQ查询组可以进入以下数据结构:

class GroupItem
{
    string A;
    List<MyType> AllBsWithinA;
}



IEnumerable<GroupItem> linqQuery = detailList.SomeLinqMagic(…);

有问题的数据都是基于内存的,因此这是一个LINQ to Objects问题。

1 个答案:

答案 0 :(得分:9)

这看起来很简单,除非我错过了你的意思:

IEnumerable<GroupItem> linqQuery = detailList
    .GroupBy(i => i.A)
    .Select(g => new GroupItem() 
    { 
        A = g.Key, 
        AllBsWithinA = g.Select(i => i.B).ToList() 
    });