【发布时间】:2011-07-02 19:00:10
【问题描述】:
我有一个很长的 Id(整数)列表,代表了我数据库中当前的所有项目:
var idList = GetAllIds();
我还有另一个巨大的通用列表,其中包含要添加到数据库中的项目:
List<T> itemsToAdd;
现在,我想从通用列表中删除其 Id 已在 idList 中的所有项目。 目前 idList 是一个简单的数组,我减去这样的列表:
itemsToAdd.RemoveAll(e => idList.Contains(e.Id));
我很确定它可能会快很多,那么我应该为这两个集合使用什么数据类型以及减去它们的最有效做法是什么?
谢谢!
【问题讨论】:
-
如果可能的话,我也想知道如何流式传输/枚举它......
标签: c# performance collections