如何检查array2
是否是array1
的子集?换句话说,我想检查array2
中是否存在array1
的所有元素?我想在Lambda
或Linq
中找到解决方案。
int[] array1 = {6, 3, 1, 4, 5, 2};
int[] array2 = {1, 2, 3};
答案 0 :(得分:5)
如果我理解你的问题:
using System.Linq;
if (!array2.Except(array1).Any())
{
...validated!
}
答案 1 :(得分:1)
另一个简单LINQ
,您可以使用All
来检查array2
中array1
的所有项目是否都是:
if (array2.All(array1.Contains))
{
// array2 is subset of array1
}
答案 2 :(得分:1)
试试,
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;