假设我有两个字符串列表List1
,list2
其中是listList1
类型对象的属性。Foo
fooList
Foo
如果没有字符串与la 中的foo.List1
任何字符串匹配,我想删除给定的字符串。list2
RemoveAll
我可以用嵌套的 for 循环来做到这一点,但是有没有办法用一个光滑的 LINQ 表达式来做到这一点?
冗长的代码,构建一个新列表而不是从现有列表中删除内容:
var newFooList = new List<Foo>
foreach (Foo f in fooList)
{
bool found = false;
foreach (string s in newFooList)
{
if (f.FooStringList.Contains(s))
{
found = true;
break;
}
}
if (found)
newFooList.Add(f);
}