分類:[VB.NET/VB2005 以降]
こんにちは。
今、List(Of Class)を使用した処理を行っており、
1.List(Of Class)をループで回す。
2.要素であるClassのあるプロパティの条件により、この要素Classの内容で処理を行う。
3.この要素をListから削除する
ということをやりたいと考えています。
とりあえず、以下のソースのようにしてみましたが、
(ListTestは、List(Of Class)の変数です。)
For i = 0 To ListTest.Count - 1
If (ListTest.Item(i)の内容が条件に合致する) Then
'処理
ListTest.RemoveAt(i)
End If
Next
これだと、Removeが発生すると、Listの要素数が変わってしまい、インデックス範囲外の例外が発生してしまいます。
また、List要素の最後から処理を行えば、Removeの影響はなさそうですが、
ループを使用して行う処理の順番は、Listのインデックス順に行いたいのです。
どなたかお知恵を頂きたく、お願い致します。
開発言語はVB2008です。
|