Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/326.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
Linq中使用C#的Zip方法有什么问题?_C#_Linq - Fatal编程技术网

Linq中使用C#的Zip方法有什么问题?

Linq中使用C#的Zip方法有什么问题?,c#,linq,C#,Linq,我编写了以下代码来比较两个表 var one = db.arabia_upod_item_availability_masters.Where(i => i.locationId == 30).OrderBy(i => i.itemNo).ToList(); var two = db.vw_get_arabia_upod_report_quantityOrderedPerItem_uhjs.OrderBy(i => i.Item_No).ToList(); if (one.Z

我编写了以下代码来比较两个表

var one = db.arabia_upod_item_availability_masters.Where(i => i.locationId == 30).OrderBy(i => i.itemNo).ToList();
var two = db.vw_get_arabia_upod_report_quantityOrderedPerItem_uhjs.OrderBy(i => i.Item_No).ToList();

if (one.Zip(two, (j, k) => j.itemNo == k.Item_No).Any(m => !m))
returnValue = true;
else
returnValue = false;
问题是Zip方法从第一个循环到最后一个循环,然后再循环到第一个循环。例如,如果项目编号为1,2,3,则它经过1,2,3,然后再次经过1,即使所有值都匹配,它甚至返回false。有什么问题吗?请帮帮我。

是一个组合运算符:它将
One
中的项目与
Two
中位于列表中相同位置的项目组合在一起。在我看来,您希望它根据过滤器进行组合。

将函数应用于两个序列的给定元素,并生成结果序列。可以使用Intersect操作符返回两个序列的交集

var q = one.Intersect(two)