如何在C#中找出两个数组中的不同元素?

时间:2013-04-27 00:22:26

标签: c# arrays

我在c#中有数组

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

我有两个问题:

  1. 我不知道如何删除数组中的重复元素。
  2. 当我将array1与array3 {1,2,3,4,5,6,7,8,9,10}进行比较时,有多少元素消失,它们的数量是多少?
  3. 我不知道要做到这一点!

2 个答案:

答案 0 :(得分:6)

最简单的方法是使用LINQ,特别是方法DistinctExcept

array1删除重复项:

 var withoutDupes = array1.Distinct().ToArray();

使用array2作为参考,查看array1中添加了哪些元素:

 var added = array2.Except(array1).ToArray();

使用array2作为参考,查看array1中删除的元素:

 var removed = array1.Except(array2).ToArray();

答案 1 :(得分:5)

首先它应该是

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

要删除所有重复的条目,请执行此操作

using System.Linq;

var result = array1.Distinct().ToArray();

查看array1中的元素而不是array3中的元素

var result = array1.Except(array3).ToArray();

要查看array3中的元素而不是array1中的元素

var result = array3.Except(array1).ToArray();

enter image description here