【发布时间】:2015-11-07 22:20:39
【问题描述】:
我有两个列表。我想使用第二个列表中的元素过滤掉第一个列表。所以我有这个代码:
List<data> dataList = somedata;
IEnumerable<Filter> filterList = someFilterData;
然后我使用以下代码进行过滤:
foreach (var s in filterList)
{
dataList = dataList .Where(l => l.dataId!= s.Id).ToList();
}
有人可以建议这是否是一种足够好的方法,或者我们如何使用其他技术使其更好。注意:列表可能会变大,因此我们也在考虑性能。
【问题讨论】:
-
我会将过滤器 ID 放在哈希集中,然后执行一个 where,检查 dataId 是否不在哈希内