在另一个列表中包含的列表中使用Where?

时间:2011-01-20 09:16:09

标签: c# linq list

假设我有一个名为list1的列表。此list1包含另一个名为list2的列表。现在,我想检查list2中的list1是否包含某些元素并返回另一个列表。

list3 = list1.list2.Where(p => p.something == 1)

那样的东西?

2 个答案:

答案 0 :(得分:2)

此解决方案将返回内部列表中的条件项。

var result = list.SelectMany(l => l.InnerList)
                 .Where(p => p.something == 1);

如果要获取符合条件的外部列表中的项目,请使用:

var another = list.Where(l => l.InnerList.Any(p => p.something == 1));

答案 1 :(得分:1)

查看SelectMany功能。