一、介绍
交集是在两个集合中同时存在的元素集合。在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()方法,使其支持不同类型的数组。