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

Hel*_*Sun 1 c# arrays

我在c#中有数组

int array1 = new int[]{1,2,3,3,4,5};
Run Code Online (Sandbox Code Playgroud)

我有两个问题:

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

我不知道要做到这一点!

Jon*_*Jon 6

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

要删除重复项array1:

 var withoutDupes = array1.Distinct().ToArray();
Run Code Online (Sandbox Code Playgroud)

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

 var added = array2.Except(array1).ToArray();
Run Code Online (Sandbox Code Playgroud)

要查看在array2使用中删除了哪些元素array1作为参考:

 var removed = array1.Except(array2).ToArray();
Run Code Online (Sandbox Code Playgroud)


Nik*_*wal 5

首先它应该是

int[] array1 = new int[]{1,2,3,3,4,5};
Run Code Online (Sandbox Code Playgroud)

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

using System.Linq;

var result = array1.Distinct().ToArray();
Run Code Online (Sandbox Code Playgroud)

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

var result = array1.Except(array3).ToArray();
Run Code Online (Sandbox Code Playgroud)

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

var result = array3.Except(array1).ToArray();
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述