首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >选择选择查询

选择选择查询
EN

Stack Overflow用户
提问于 2014-08-29 01:33:38
回答 2查看 67关注 0票数 2

我怎样才能做到这一点

我的第一份名单

代码语言:javascript
复制
List<string> lstParams = new List<string> { "Home", "Computer", "Fishing" };
List<string> lstIgnore_If_Have = new List<string> { "me", "hi" };

现在,我想检查lstParams每个元素,如果元素有lstIgnore_If_Have的任何对象,请不要选择它。

结果lstParams如下所示

“计算机”

如何编写这样的linq查询?

我做了下面,但我不能完成它

代码语言:javascript
复制
    lstParams = lstParams
    .Where(pr => pr.Contains( lstIgnore_If_Have )) == false).ToList<string>();
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-08-29 01:36:53

给你:

代码语言:javascript
复制
var v = lstParams.Where (p => ! lstIgnore_If_Have.Any(i=> p.Contains(i)));

只需确保第一个列表中没有包含第二个列表(使用Any)。

其结果是“计算机”。

票数 7
EN

Stack Overflow用户

发布于 2014-08-29 01:44:11

你可以用:

代码语言:javascript
复制
lstParams = lstParams.Where( x => lstIgnore_If_Have.All( s => !x.Contains( s ) ))
                     .ToList();
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25560435

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档