选择选择查询

时间:2014-08-29 01:33:39

标签: c# linq

我怎样才能实现这个目标

我的第一个清单

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查询?

我在下面做了但我无法完成它

    lstParams = lstParams
    .Where(pr => pr.Contains( lstIgnore_If_Have )) == false).ToList<string>();

2 个答案:

答案 0 :(得分:7)

你走了:

var v = lstParams.Where (p => ! lstIgnore_If_Have.Any(i=> p.Contains(i)));

只需确保第一个列表中没有包含第二个列表(使用Any) 结果是&#34;计算机&#34;。

答案 1 :(得分:1)

您可以使用:

lstParams = lstParams.Where( x => lstIgnore_If_Have.All( s => !x.Contains( s ) ))
                     .ToList();