我有两个列表,只有一个共同点
List<myObject> myObj (contains ID, name, other stuff)
1, Dave, stuff
2, Albert, stuff
10, James, stuff
15, Rita, stuff
List<int> myID (contains ID)
2,
10
我需要做的是从myObj中删除所有条目,其中myObj.ID在myID.ID中
(请记住,对于真实代码,两个列表都更长)
最佳答案
从id列表中创建一个HashSet<int>
以进行快速查找,然后使用RemoveAll
方法:
var idSet = new HashSet<int>(myID);
myObj.RemoveAll(item => idSet.Contains(item.ID));