📜  如何在 C# 中合并两个没有重复值的数组?(1)

📅  最后修改于: 2023-12-03 14:52:14.664000             🧑  作者: Mango

如何在 C# 中合并两个没有重复值的数组?

在 C# 中,有多种方法可以合并两个没有重复值的数组。下面将介绍两种常用的方法。

方法一:使用 LINQ 的 Union 方法

使用 LINQ 的 Union 方法可以将两个数组合并为一个新数组,并自动去除重复的值。

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

var mergedArray = array1.Union(array2).ToArray();

上述代码中,array1array2 是需要合并的两个数组,mergedArray 是合并后的结果数组。

在这个例子中,mergedArray 将包含 1, 2, 3, 4, 5, 6 这几个值,且重复的值 3 和 4 只会出现一次。

方法二:使用 HashSet 去重

使用 HashSet 可以方便地去除重复值,并能保持元素的无序性。可以通过循环遍历将所有元素添加到 HashSet 中,然后将 HashSet 转换为数组。

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

HashSet<int> set = new HashSet<int>();
set.UnionWith(array1);
set.UnionWith(array2);

int[] mergedArray = set.ToArray();

在上述代码中,array1array2 是需要合并的两个数组,set 是一个用于去重的 HashSet 对象,mergedArray 是合并后的结果数组。

通过 set.UnionWith(array1);set.UnionWith(array2);array1array2 中的元素添加到 set 中,并自动去重。然后通过 set.ToArray();set 转换为数组。

与方法一相同,mergedArray 将包含 1, 2, 3, 4, 5, 6 这几个值,且重复的值 3 和 4 只会出现一次。

以上就是在 C# 中合并两个没有重复值的数组的两种常用方法。可以根据具体需求选择合适的方法来解决问题。