Concat :连连接两个序列。 http://msdn.microsoft.com/zh-cn/library/bb351755(v=vs.90).aspx
Union : 通过使用默认的相等比较器生成两个序列的并集。http://msdn.microsoft.com/zh-cn/library/bb341731(v=vs.90).aspx
Intersect : 通过使用默认的相等比较器对值进行比较生成两个序列的交集。http://msdn.microsoft.com/zh-cn/library/bb460136(v=vs.90).aspx
通俗一点,可以这样理解:
假设有两序列:
var A=new List<int>{1,1,2,3,4};
var B=new List<int>{4,5,5,6,7};
那么A.Concat(B) 表示将A序列和B序列串联起来,以创建新的序列,不去除重复部分;
A.Union(B)表示将A序列和B序列串联起来,并去除重复部分,以创建新的序列;
而A.Intersect(B) 只取A序列和B序列相同的部分(交集),以创建新的序列。
示例代码:
void Main()
{
var A=new List<int>{1,1,2,3,4};
var B=new List<int>{4,5,5,6,7};
Print(A.Concat(B).ToList());
Print(A.Union(B).ToList());
Print(A.Intersect(B).ToList());
/*
********A.Concat(B)************
1
1
2
3
4
4
5
5
6
7
*********************************
*********A.Union(B)***********
1
2
3
4
5
6
7
*********************************
*********A.Intersect(B)***********
4
*********************************
*/
}
void Print(List<int> list)
{
list.ForEach(l=>Console.WriteLine(l));
}
本文详细介绍了LINQ中Concat、Union及Intersect方法的用法,通过实例对比了这三个方法在处理序列时的区别,Concat用于合并序列,Union去除重复项合并,Intersect则找出序列间的交集。
1426

被折叠的 条评论
为什么被折叠?



