Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/267.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
C# 使用LINQ C查找Array2中Array1中正好两个项目的副本#_C#_Linq_Intersect - Fatal编程技术网

C# 使用LINQ C查找Array2中Array1中正好两个项目的副本#

C# 使用LINQ C查找Array2中Array1中正好两个项目的副本#,c#,linq,intersect,C#,Linq,Intersect,说我有一个 Array1 [1,2,3] 以及数组列表Array2[3,2,4]Array3[2,16,5] 我只需要返回列表中正好包含Array1中两个整数的元素。在这种情况下,由于整数2和3相交,所以数组为2; 谢谢尝试组合Where()和Count(): var matches=newint[]{1,2,3}; var数据=新列表 { 新的int[]{3,2,4}, 新int[]{2,16,5} }; var result=data.Where(x=>x.Count(matches.Co

说我有一个

Array1 [1,2,3]
以及数组列表
Array2[3,2,4]Array3[2,16,5]
我只需要返回列表中正好包含Array1中两个整数的元素。在这种情况下,由于整数2和3相交,所以数组为2; 谢谢

尝试组合
Where()
Count()

var matches=newint[]{1,2,3};
var数据=新列表
{
新的int[]{3,2,4},
新int[]{2,16,5}
};
var result=data.Where(x=>x.Count(matches.Contains)==2);

因为它是
int[]
所以可以直接使用
.Intersect()
。比如说

from a in arrays where a.Intersect(Array1).Count() == 2 select a
//arrays contains Array2 and Array3

如果该列表不是数组列表,而是对象列表,每个对象都有一个数组作为字段,该怎么办。很抱歉,如果这是哑的,但是…
来自a.ArrayProperty.Intesect(…
from a in arrays where a.Intersect(Array1).Count() == 2 select a
//arrays contains Array2 and Array3