a.Where(v=>b.Contains(v)!=-1) 这样一句话就搞定了
内部实现通过一个Set(可参考HashSet)做了去重,可以参考.net源码
你是想去掉a中 在b中存在的元素 代码这样子写 int[] a = { 1, 2, 3, 4, 3, 4, 5 }; int[] b = { 2 }; List<int> f = a.ToList(); int k = f.RemoveAll((A) => { if (b.Contains(A)) { return true; } return false; });
f就是去掉重复以后的集合