C# List<T>集合布尔运算

交集

使用C#语言提供的Intersect方法快速来实现两个集合之间的交集运算。

Intersect方法调用的格式为:

  • 格式:List1.Intersect(List2)
  • 参数:List1和List2是相同类型的List集合数据
  • 返回:IENUMABLE类型,可再使用ToList()方法转换回List集合类型数据。

例如下列两个集合都为List集合,针对list1和list2求交集可使用以下语句:

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集合,针对list1和list2求交集可使用以下语句:

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集合,针对list1和list2求差集可使用以下语句:

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
posted @ 2019-12-13 10:28  zixuan203344  阅读(746)  评论(0编辑  收藏  举报