C# List的并集、交集、差集
并集---Union
集合的并集是合并两个集合的所有项,去重,如下图所示:
![](https://img2020.cnblogs.com/blog/1034557/202004/1034557-20200420215245457-126117303.png)
public void Deal() { List<int> ls1 = new List<int>() { 1, 2, 3, 5, 7, 9 }; List<int> ls2 = new List<int>() { 2, 4, 6, 8, 9, 10 }; IEnumerable<int> unionLs = ls1.Union(ls2); foreach (int item in unionLs) { Console.Write("{0}\t", item); } }
![](https://img2020.cnblogs.com/blog/1034557/202004/1034557-20200420215251322-1829495597.png)
交集---Intersect
集合的交集是取集合的共同的项,如下图所示:
![](https://img2020.cnblogs.com/blog/1034557/202004/1034557-20200420215255465-114192886.png)
public void Deal() { List<int> ls1 = new List<int>() { 1, 2, 3, 5, 7, 9 }; List<int> ls2 = new List<int>() { 2, 4, 6, 8, 9, 10 }; IEnumerable<int> intersectLs = ls1.Intersect(ls2); foreach (int item in intersectLs) { Console.Write("{0}\t", item); } }
![](https://img2020.cnblogs.com/blog/1034557/202004/1034557-20200420215346705-2068287445.png)
差集---Except
集合的差集是取在该集合中而不在另一集合中的所有的项,如下图所示:
![](https://img2020.cnblogs.com/blog/1034557/202004/1034557-20200420215335451-514824731.png)
public void Deal() { List<int> ls1 = new List<int>() { 1, 2, 3, 5, 7, 9 }; List<int> ls2 = new List<int>() { 2, 4, 6, 8, 9, 10 }; IEnumerable<int> exceptLs = ls1.Except(ls2); foreach (int item in exceptLs) { Console.Write("{0}\t", item); } }
![](https://img2020.cnblogs.com/blog/1034557/202004/1034557-20200420215352247-2079159496.png)