小编N K*_*N K的帖子

如何从非常大的列表中按索引有效地删除元素?

我有一个非常大的整数列表(大约 20 亿个元素)和一个带有索引(几千个元素)的列表,我需要从第一个列表中删除元素。我目前的方法是遍历第二个列表中的所有索引,将每个索引传递给RemoveAt()第一个列表的方法:

indices.Sort();
indices.Reverse();
for (i = 0; i < indices.Count; i++)
{
    largeList.RemoveAt(indices[i]);
}
Run Code Online (Sandbox Code Playgroud)

但是,大约需要 2 分钟才能完成。我真的需要更快地执行此操作。有没有办法优化这个?

我有一个带有 10 个内核的 Intel i9X CPU,所以也许是某种并行处理方式?

.net c# performance list generic-list

26
推荐指数
4
解决办法
1482
查看次数

标签 统计

.net ×1

c# ×1

generic-list ×1

list ×1

performance ×1