我有一个奇怪的情况,代码行执行时间超过 5 分钟,我不明白为什么:var cleansedTransactions = competitorTransactions.Where(i => !endedItemsLocal.Contains(i.ItemID)).ToList();进一步解释:competitorTransactions - is a list of transactions which in this case contains 921 record inside it;
endedItemsLocal - is an IEnumerable<string> - which in this case contains 8 records我在这里要做的是从“competitorTransactions”列表中删除“endedItemsLocal”(IEnumerable) 中包含的所有项目。为什么执行需要 5-9 分钟?如果这两个集合包含数百万条记录,我可以说需要 9 分钟,但只有 921 和 8,这让我发疯,我不明白为什么要花这么长时间?有人可以帮我吗 ?:/
1 回答

吃鸡游戏
TA贡献1829条经验 获得超7个赞
您不应该使用 IEnumerable,因为它是延迟加载的。使用 endedItemsLocal 的 ToArray 并使用该集合,这将分配一个集合,从而提高速度。
- 1 回答
- 0 关注
- 62 浏览
添加回答
举报
0/150
提交
取消