在第二个数组中找到Uncommon元素

时间:2013-04-13 17:38:48

标签: c# .net arrays linq

int[] arr1 = { 5, 4, 3, 2, 1 };
        int[] arr2 = { 1, 2, 4, 5 };

        for (int i = 0; i < arr1.Length; i++)
        {
            for (int j = 0; j < arr2.Length; j++)
            {
                if (arr1[i] == arr2[j])
                {
                    //Console.Write(arr1[i]);
                }

            }
        }

输出上述代码:

5,4,2,1

我想要输出:

3

2 个答案:

答案 0 :(得分:5)

您可以使用Except方法

arr1.Except(arr2);

另外,要查找常用元素,可以使用Intersect方法:

arra1.Intersect(arr2);

答案 1 :(得分:2)

使用Enumerable.Except方法查找两个序列的差异:

foreach(var item in arr1.Except(arr2))
    Console.Write(item);

如果不允许使用LINQ,那么只需检查第二个数组是否包含第一个数组中的项

for (int i = 0; i < arr1.Length; i++)
{
    if (!arr2.Contains(arr1[i]))
        Console.WriteLine(arr1[i]);
}