0

如何检查是否array2是子集array1?换句话说,我想检查是否所有元素array2都存在array1?我想要解决方案Lambdaor Linq

int[] array1 = {6, 3, 1, 4, 5, 2};
int[] array2 = {1, 2, 3};
4

3 回答 3

5

如果我理解你的问题:

using System.Linq;

if (!array2.Except(array1).Any())
{
    ...validated!
}
于 2012-09-12T13:43:26.417 回答
1

另一个简单LINQ的,您可以使用All检查是否所有项目array2in array1

if (array2.All(array1.Contains))
{
    // array2 is subset of array1
}
于 2012-09-12T14:53:31.070 回答
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;
于 2012-09-12T16:09:10.237 回答