.net中使用Linq 判断两个集合是否有交集的集合类

  • A+
所属分类:.NET技术
摘要

今天在写项目的时候碰到一个问题 怎么在Lambda中比较两个字符串是否存在交集

今天在写项目的时候碰到一个问题 怎么在Lambda中比较两个字符串是否存在交集

在不断的百度中终于找到了大佬给的答案

下面是Linq中的写法

 

List<int> left = new List<int>() { 1, 3, 5, 7, 9 }; List<int> right = new List<int>() { 0, 2, 4, 5, 6, 8 }; bool result = left.Intersect(right).Count() > 0;

 

在Lambda中

我的字符串里面的每个数据是用逗号隔开的

                q = q.Where(c => uq.Labels.Split(',').Intersect(c.LabelStr.Split(',')).Count() > 0);

完美解决这个问题,Intersect 通过使用默认项等比较器对值进行比较,生成两个序列的交集  返回结果:包含组成两个序列交集的袁术序列

边学习边记录 面向百度编程果然是解决问题最有效的方式