- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有一个类似于以下的结构。
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)。
关于c# - List<A> 包含 List<B> 包含 List<C>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7994362/
我是一名优秀的程序员,十分优秀!