簡體   English   中英

根據嵌套(內部)集合的屬性值對外部集合進行分組

[英]Group outer collection based on a property value of nested (inner) collection

我有一個集合A,在內部將集合B作為其屬性之一。 我想根據內部集合的屬性值對外部集合A的所有項目進行分組。

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

class B
{
    string key;
    string name;
    int id;
}

我現在有

List<A> localCollection = new List<A>();

我想根據嵌套集合中Id的值對所有集合項進行分組。

從概念上講,這是一件很奇怪的事情,想把頭纏起來,但這會做您想要的:

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

不確定您要在這里做什么。

如果你有這個

class A
{
    string A;
    B NestedB;
}

class B
{
    string key;
    string name;
    int id;
}

你可以這樣做

localCollection.GroupBy(a=>a.NestedB.id);

但是您有一個嵌套的集合,因此每個B可以具有不同的id,並且您將其分組?

你可以這樣第一個

localCollection.GroupBy(a=>a.NestedColl.First().id);

或者你可以選擇像這樣的第一大

localCollection.GroupBy(a=>a.NestedColl.Max(b=>b.id));

也有其他選擇,但不知道您想要什么,我無法提供更多具體信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM