1
我想刪除給定的Foo
,如果foo.List1
中沒有任何字符串匹配 a la 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);
}
在我看來,你應該包含冗長的代碼,因爲它會比你的描述更好地傳達你想要的行爲。 –