CS5L13-2——求两个数据集合的交集
CS5L13-2——求两个数据集合的交集
本章代码关键字
1  | IEnumerable<>.Intersect() //传入另一个集合,返回该集合和传入的集合的交集  | 
交集
假设有两个数组,求两个数组的交集
1  | //假设有两个数组,求两个数组的交集  | 
不使用LINQ
1  | private static void Normal2(int[] arr1, int[] arr2)  | 
输出结果:
1  | 4  | 
获取一个集合和另一个集合交集
这个方法只有链式表达式有,返回arr1 和 arr2 的交集
1  | var result = arr1.Intersect(arr2);  | 
LINQ实例
使用LINQ链式表达式
1  | private static void ChainedExpressionLINQ2(int[] arr1, int[] arr2)  | 
输出结果:
1  | 4  | 
如果你愿意在IDE内将鼠标指向方法,你可以看到,这个Intersect()其实就是一种拓展方法,求两个可迭代类型集合IEnumerable<>的交集
需要注意的是,不是所有的链式表达式的方法都可以在查询表达式里找到对应关键字
因为查询表达式的语法基本就是SQL语句那些关键字,
例如 orderby、select、join、groupby 等,这些关键字以外的内容可能就没那么好用了
但是也这不代表不能用查询表达式
1  | private static void QueryExpressionLINQ2(int[] arr1, int[] arr2)  | 
输出结果:
1  | 4  | 
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 文KRIFE齐的博客!
