在Linq中,可以使用Union和Intersect方法来实现求两个集合的并集和交集。
- 并集(Union)
在Linq中,可以使用Union
方法来求两个集合的并集。例如:
var list1 = new List<int> { 1, 2, 3, 4, 5 };
var list2 = new List<int> { 3, 4, 5, 6, 7 };
var unionList = list1.Union(list2);
foreach (int item in unionList)
{
Console.Write(item + " "); // 1 2 3 4 5 6 7
}
在上述代码中,我们定义了两个整数类型的List集合list1
和list2
,然后使用Union
方法获取它们的并集,最后使用foreach
循环将结果输出。
- 交集(Intersect)
在Linq中,可以使用Intersect
方法来求两个集合的交集。例如:
var list3 = new List<int> { 1, 2, 3, 4, 5 };
var list4 = new List<int> { 3, 4, 5, 6, 7 };
var intersectList = list3.Intersect(list4);
foreach (int item in intersectList)
{
Console.Write(item + " "); // 3 4 5
}
在上述代码中,我们定义了两个整数类型的List集合list3
和list4
,然后使用Intersect
方法获取它们的交集,最后使用foreach
循环将结果输出。
需要注意的是,Union和Intersect方法会自动去重。如果集合中包含重复元素,则只会留下其一份拷贝。另外,在使用这些方法时,需要确保两个集合的元素类型是一致的,否则会抛出异常。