根据嵌套(内部)集合的属性值对外部集合进行分组

1 c# linq group-by

我有一个集合 A,它内部有一个集合 B 作为它的属性之一。我想根据内部集合的属性值对外部集合 A 的所有项目进行分组。

class A
{
    string A;
    List<B> NestedColl;
}

class B
{
    string key;
    string name;
    int id;
}
Run Code Online (Sandbox Code Playgroud)

我现在有

List<A> localCollection = new List<A>();
Run Code Online (Sandbox Code Playgroud)

我想根据嵌套集合中 Id 的值对所有集合项进行分组。

Jas*_*oyd 5

从概念上讲,这是一件很奇怪的事情,试图绕过一个人的头,但这会做你想做的事:

localCollection
.SelectMany(a => a.NestedColl.Select(b => new { A = a, Id = b.id}))
.GroupBy(x => x.Id);
Run Code Online (Sandbox Code Playgroud)