【发布时间】:2010-11-13 11:21:09
【问题描述】:
我有一个数据集中的行列表,我需要遍历这些行。
问题在于迭代中的处理可能会从列表中删除一行或多行。
由于列表正在修改,我不能使用 foreach() 循环。
但是由于在我正在处理的元素之前可能会发生一些删除,所以我也不能使用 for() 循环(即,如果我正在处理 element ,这会导致删除元素和其他元素,我想不出一种方法来调整 i 以正确指向我正在处理的元素之后的元素)。
您将如何解决这个问题?我目前的想法是始终处理列表中的第一个元素。如果它被删除,则处理新的第一个元素。如果它没有被删除,则将其移动到“alreadyProcessed”列表,并处理新的第一个元素。
有没有更简单的方法?
【问题讨论】: