2
我有一個按預期工作的查詢。如果mastercollection不存在於MyCollection的相應AssocaitedProp然後從MyCollection的使用linq從集合中刪除項目
public class classB
{
public classX AssociatedProp { get; set; }
}
List<classX> MyCollection;
List<classB> masterCollection;
MyCollection.RemoveAll(x =>
MyCollection.Except(
(from n in masterCollection
select n.AssociatedProp).Distinct()).ToList().Contains(x)
);
此查詢中刪除該項目將刪除所有來自MyCollection的其不在masterCollection的項目。
現在我已經修改MyCollection的作爲classC
的收集public class classC
{
bool flag { get; set; }
classX myObj { get; set; }
}
List<classC> myCollection;
List<classB> masterCollection;
和 列表MyCollection的
我怎樣才能達到同樣的效果。即如果masterCollection在MyCollection中沒有任何具有ClassX值的項目,則刪除MyCollection中的所有項目。
我知道解釋不夠清楚。