我正在使用ArrayList
VB.Net 中的 300 多条记录。当我处理它们时,我删除了指定索引处的记录,因为它们没有按顺序存储。Arraylist
我的问题是,当我在使用之前第一次查看计数时,计数显示为RemoveAt()
373,但使用RemoveAt()
几次后,我注意到计数上升到 425 左右。
根据我对 MSDN 参考页面的理解ArrayList.RemoveAt()
,该方法应删除指定索引处的元素并将ArrayList
计数减一。
如果有人遇到此问题或对它为什么这样做有任何线索,请告诉我。
更新arraylist 中的每个元素都是一个对象的实例。
更新这是在 arraylist 中找到一个元素以提取然后删除它的代码。
While (SimsRun.Count > 0)
counter = 0
'Get a new record
While (counter < SimsRun.Count)
tempSim = SimsRun(counter)
If tempSim.BatchIndex = (simToFind - 1) Then
SimsRun.RemoveAt(counter)
Exit While
End If
counter = counter + 1
End While
Process Record
.
.
.
.
End While
它所在的外部循环将在 SimsRun.Count() > 0 时运行。