我怎样才能实现这个目标
我的第一个清单
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>();
答案 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();