C# List<T>集合布尔运算
交集
使用C#语言提供的Intersect
方法快速来实现两个集合之间的交集运算。
Intersect方法调用的格式为:
- 格式:List1.Intersect(List2)
- 参数:List1和List2是相同类型的List集合数据
- 返回:IENUMABLE类型,可再使用ToList()方法转换回List集合类型数据。
例如下列两个集合都为List
List<int> list1 = new List<int>() { 1, 2, 3, 4, 5, 6, 7 };
List<int> list2 = new List<int>() { 4, 5, 6, 7, 8, 9, 10 };
List<int> jiaojiList = list1.Intersect(list2).ToList();//使用Intersect方法求交集运算。
最后得到的结果集合jiaojiList中的数据为:4,5,6,7。
注:上述语句只针对普通基础的值类型,如果针对自定义类的对象的话,如果要求交集运算,则是需要相同的对象引用才算是交集中的数据,而非两个对象相同即是交集
并集
使用C#语言提供的Union
方法快速来实现两个集合之间的并集运算。
Union方法调用的格式为:
- 格式:List1.Union(List2)
- 参数:List1和List2是相同类型的List集合数据
- 返回:IENUMABLE类型,可再使用ToList()方法转换回List集合类型数据。
例如下列两个集合都为List
List<int> oldArray = { 1, 2, 3, 4, 5 };
List<int> newArray = { 2, 4, 5, 7, 8, 9 };
var bingJi = oldArray.Union(newArray).ToList();//1,2,3,4,5,7,8,9
最后得到的结果集合jiaojiList中的数据为:1,2,3,4,5,7,8,9
差集
使用C#语言提供的Except
方法快速来实现两个集合之间的差运算。
Except方法调用的格式为:
List1-List2
- 格式:List1.Except(List2)
- 参数:List1和List2是相同类型的List集合数据
- 返回:IENUMABLE类型,可再使用ToList()方法转换回List集合类型数据。
List2-List1
- 格式:List2.Except(List1)
- 参数:List2和List1是相同类型的List集合数据
- 返回:IENUMABLE类型,可再使用ToList()方法转换回List集合类型数据。
例如下列两个集合都为List
List<int> oldArray = { 1, 2, 3, 4, 5 };
List<int> newArray = { 2, 4, 5, 7, 8, 9 };
var oldChaJi = oldArray.Except(newArray).ToList();//1,3
var newChaJi = newArray.Except(oldArray).ToList();//7,8,9