我有一个名为 mainList 的列表。
mainList 中的每一项都包含另一个名为 detailList 的列表。
我想从 mainList 中选择项目,其中 detailList 中的属性评估为真。

我希望会起作用:

var list = mainList.Where(x => x.detailList.Where(y => y.property == true));

这不起作用,它无法将 detailList 转换为 bool。

所以我的问题是如何在 mainList 中选择项目,其中该项目在他的 detailList 中有一个有效的属性。

最佳答案

如果所有项目都必须为真:

var list = mainList.Where(x => x.detailList.All(y => y.property));

如果至少一个
var list = mainList.Where(x => x.detailList.Any(y => y.property));

关于C# Linq where list in list,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33450506/

10-12 18:14