前言
在C#中,我们有时会需要对两个数据列表进行一些数据的提取、对比之类的特殊操作,此时我们就可以借助 System.Linq 进行快速操作。
我们可以使用 System.Linq(Language Integrated Query)来方便地对List<T>进行交集、差集和并集的操作
1.并集 - Union
并集可以快速获取两个 List 列表中所有不重复的元素的新列表
// using System.Linq; List<int> list1 = new List<int> { 1, 2, 3, 4 }; List<int> list2 = new List<int> { 3, 4, 5, 6 }; var union = list1.Union(list2).ToList(); // union = new List<int>{ 1, 2, 5, 6};
2.交集 - Intersect
交集可以快速获取到两个 List 列表中重复的元素的新列表
// using System.Linq; List<int> list1 = new List<int> { 1, 2, 3, 4 }; List<int> list2 = new List<int> { 3, 4, 5, 6 }; var intersect= list1.Intersect(list2).ToList(); // intersect = new List<int>{ 3, 4};
3.差集 - Except
差集会有所特殊,它对应的为从一个列表本身为主体,去对比目标列表中的元素,获取主列表中存在但是不存在目标列表中的元素集合
// using System.Linq; List<int> list1 = new List<int> { 1, 2, 3, 4 }; List<int> list2 = new List<int> { 3, 4, 5, 6 }; var except= list1.Except(list2).ToList(); // except= new List<int>{ 1, 2,};
标签:C#,list1,List,System,差集,列表,new,list2 From: https://www.cnblogs.com/sakuraneko/p/18441871