我有两个收藏夹,将它们进行比较,并希望获得不匹配的商品并放入新的收藏夹中。我不想使用2 foreach循环的常规方法。如何使用linq和lambda表达式实现它?
例如

    int[] collection1 = new int[] { 1, 2, 3, 4, 5 };
    int[] collection2 = new int[] { 2, 3 };
    // Goal: Using Linq and Lambda Expression: the new collection3 should contain 1, 4, 5


编辑:抱歉,我忘了提及:collection2是collection1的子集,因此collection2中的所有元素必须存在于collection1中。

最佳答案

var result = collection1.Except(collection2).Concat(collection2.Except(collection1)).ToArray();

09-07 15:15