-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メソッドを使用して、2 つのシーケンスの違いを見つけます。

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

LINQの使用が許可されていない場合は、2番目の配列に最初の配列の項目が含まれているかどうかを確認してください

for (int i = 0; i < arr1.Length; i++)
{
    if (!arr2.Contains(arr1[i]))
        Console.WriteLine(arr1[i]);
}
于 2013-04-13T17:39:54.553 に答える