如何检查是否array2
是子集array1
?换句话说,我想检查是否所有元素array2
都存在array1
?我想要解决方案Lambda
or Linq
。
int[] array1 = {6, 3, 1, 4, 5, 2};
int[] array2 = {1, 2, 3};
如果我理解你的问题:
using System.Linq;
if (!array2.Except(array1).Any())
{
...validated!
}
另一个简单LINQ
的,您可以使用All
检查是否所有项目array2
in array1
:
if (array2.All(array1.Contains))
{
// array2 is subset of array1
}
尝试,
int[] array1 = { 6, 3, 1, 4, 5, 2 };
int[] array2 = { 1, 2, 3 };
bool isSubset = array2.Count(o => array1.Contains(o)).Equals(array2.Count()) ? true : false;