gpt4 book ai didi

c# - List 包含 List 包含 List

转载 作者:太空宇宙 更新时间:2023-11-03 19:26:51 28 4
gpt4 key购买 nike

我有一个类似于以下的结构。

class A    
{
string title;
List<B> bItem;
}

class B
{
int price;
List<C> cItem;
}

class C
{
int quantity;
}

List<A>包含大约 200,000 个“A”实例;

现在对象“A”包含一个“B”列表,对象“B”包含一个“C”列表;我有多个 List<A> 实例以及。现在我想在列表中找到所有具有此类“B”的“A”和具有此类“C”的所有“B”包含 quantity > 500 ;

我面临的问题是为 LINQ 指定目标。

如果我使用 listA[0].listB[6].listC然后它将我的搜索限制为仅提到的目标,但我想搜索整个对象“listA”。


感谢您的回复。由于我正在使用分层对象,所以我无法通过指定 a.bitem 或 c.quality 直接访问数据。所以要接近 c.quality,我必须做 aList[index].bList[index].cList[index].quantity。据我所知,我不能直接指定 a.bList 或 c.quantity 或 a.bItem。

在 LINQ 查询中,我们提供了一个目标主体或数据的基本容器来查询,并通过将目标指定为“aList[index].bList[index].cList[index].quantity”来限制我的搜索容器。

我想在我的整个 aList 对象中搜索数量的所有实例。

如果使用 LINQ to DataSet,那么我们在单个表中有完整的“C”对象,因此我们可以查询所有 c.quantity,而不管它们的父级。如何在 LINQ to object 中做类似的事情。

谢谢,

穆罕默德

最佳答案

如前所述,您的问题不清楚,但可能您正在寻找:

var query = listA.Where(a => a.bItem
.All(b => b.cItem.All(c => c.quantity > 500)));

换句话说,对于每个 A,检查所有 B 是否符合(B 中的所有 C 的数量都大于 500)。

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com