您的位置:

C#代码实现两个数组的交集

一、介绍

交集是在两个集合中同时存在的元素集合。在C#中,我们可以很方便地使用Linq的Intersect()方法实现两个数组的交集。

二、代码实现

下面是用C#代码实现两个数组的交集的示例代码:

int[] array1 = new int[] { 1, 2, 3, 4, 5 };
int[] array2 = new int[] { 3, 4, 5, 6, 7 };
var intersection = array1.Intersect(array2);
foreach (var item in intersection)
{
    Console.WriteLine(item);
}

执行以上代码,输出结果为:

3
4
5

三、代码说明

以上代码首先创建了两个数组,分别是array1和array2,并初始化数组的值。接着使用Intersect()方法获取数组的交集,并将结果保存在变量intersection中。

最后使用foreach循环遍历intersection中的元素,并将其输出到控制台。

四、代码优化

我们可以使用泛型方法实现不同类型数组的交集,如下所示:

public static T[] Intersect<T>(this T[] array1, T[] array2)
{
    return array1.Intersect(array2).ToArray();
}

以上代码将Intersect()方法扩展到泛型数组上,可以用于不同类型的数组。

五、总结

C#中使用Linq的Intersect()方法可以很方便地实现两个数组的交集。我们可以使用泛型方法扩展Intersect()方法,使其支持不同类型的数组。