📌  相关文章
📜  获取 waht 在两个数组之间是不同的 c# (1)

📅  最后修改于: 2023-12-03 15:41:27.076000             🧑  作者: Mango

获取两个数组之间不同的元素

在C#中,获取两个数组之间不同的元素可以使用以下方法:

int[] arr1 = {1, 2, 3};
int[] arr2 = {2, 3, 4};

IEnumerable<int> diff = arr1.Except(arr2).Union(arr2.Except(arr1));

foreach (int i in diff)
{
    Console.WriteLine(i);
}

上述代码使用了LINQ的Except和Union方法。Except方法可以得到在第一个数组中但不在第二个数组中的元素,Union方法可以得到两个数组中不同的所有元素。

这个例子中输出的结果为1和4。

除了使用LINQ方法,还可以使用以下方法:

int[] arr1 = {1, 2, 3};
int[] arr2 = {2, 3, 4};

IEnumerable<int> diff = arr1.Concat(arr2).GroupBy(x => x).Where(x => x.Count() == 1).Select(x => x.Key);

foreach (int i in diff)
{
    Console.WriteLine(i);
}

上述代码使用了GroupBy和Where方法,GroupBy方法将两个数组合并并进行分组,Where方法可以得到只出现一次的元素,最后使用Select方法得到所有这样的元素。

这个例子中输出的结果为1和4。

无论哪种方法,都可以实现获取两个数组之间不同的元素。