-5
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

4

2 回答 2

5

您可以使用该Except方法

arr1.Except(arr2);

此外,要查找共同元素,您可以使用以下Intersect方法:

arra1.Intersect(arr2);
于 2013-04-13T17:39:47.147 回答
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]);
}
于 2013-04-13T17:39:54.553 回答