在删除某些时间后,是否可以让List崩溃?

Sku*_*uta 0 c# list

假设有一个列表 List<UInt32>

因此,:

12|12
23|33
33|22
11|22
Run Code Online (Sandbox Code Playgroud)

我需要删除第0和第2个元素(List<UInt32>).但是,当我尝试foreach这个列表并首先删除0时,List折叠其元素,1st现在变为0 ..所以我不想删除错误的元素,因为我的另一个List<int>包含我想要删除的元素的位置.

无论如何,我想为此做一些算法,但我想知道是否已经解决了这个问题.

Meh*_*ari 7

按降序对位置列表进行排序,并按该顺序删除元素.

foreach (var position in positions.OrderByDescending(x=>x))
   list.RemoveAt(position);
Run Code Online (Sandbox Code Playgroud)