【发布时间】:2014-04-16 01:45:36
【问题描述】:
我一直在创建一个用于存储对象的系统,这些对象会在指定的时间段内持续存在,然后将它们自己删除。但是,我在弄清楚如何在 for 循环运行时从数组中删除过期项目时遇到了一些麻烦(以尽量减少通过数组的额外迭代)
这是我到目前为止所做的。列表中的术语用布尔值标记,表明它们已完成。
For i = 0 To VisualEffects.Count - 1 Step 1
VisualEffects(i).Update(gt)
VisualEffects(i).Draw(sb, Pos, Cam)
If VisualEffects(i).CD.isExpired() Then
VisualEffects.RemoveAt(i)
i = -1
End If
Next
为什么会产生错误?如何从数组中删除一个术语并继续遍历循环的其余部分?
问候
战神
【问题讨论】: