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 Listint>{1,1,2,3,4};
var B=new Listint>{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 Listint>{1,1,2,3,4};
var B=new Listint>{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(Listint> list)
{
list.ForEach(l=>Console.WriteLine(l));
}