Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用where和lambda表达式筛选结果的LINQ查询返回错误结果_Linq_Filter_Lambda - Fatal编程技术网

使用where和lambda表达式筛选结果的LINQ查询返回错误结果

使用where和lambda表达式筛选结果的LINQ查询返回错误结果,linq,filter,lambda,Linq,Filter,Lambda,使用带有条件的where子句过滤IEnumerable结果集将返回重复的条目 这是我们用来过滤结果的查询链接是一个计数为299的IEnumerable。当执行下面的查询时,validLinkscount将达到588,并且每个条目都是重复的。请帮助我们确定此查询的错误 var validLinks = links.Where(link => link.Categories .Where(category =&g

使用带有条件的
where
子句过滤
IEnumerable
结果集将返回重复的条目

这是我们用来过滤结果的查询<代码>链接是一个计数为299的
IEnumerable
。当执行下面的查询时,
validLinks
count将达到588,并且每个条目都是重复的。请帮助我们确定此查询的错误

var validLinks = links.Where(link => link.Categories
                                         .Where(category => category.!IsCatchAll)
                                         .Any());

该代码无法编译,因为
位于错误的位置。此外,您不需要执行
Where
Any
。试试这个:

var validLinks = links.Where(link => link.Categories.Any(category => !category.IsCatchAll);

Where
的实现永远无法扩展
IEnumerable
中的项数。如果计数正确,则
中的lambda或其他一些代码正在扩展基础集合。抱歉,这是语法中的类型错误。您的回答(p.s.w.g)是正确的,并给出了299个结果。谢谢然而,在这个方法之后会执行更多的代码,并再次给出重复的代码。这是一个CAML查询。”我需要检查一下!!