2010/05/26(Wed) 20:05:27 編集(投稿者)
> 2.要素であるClassのあるプロパティの条件により、この要素Classの内容で処理を行う。
> 3.この要素をListから削除する
この手順2、3が、1つの要素に対して連続で処理しなくてもよくて、
前から順番に処理したいのが手順2だけであれば、以下のように処理を2段階にする手もありますね。
' 削除対象インデックスの記録用
Dim removeIndexList As List(Of Integer) = New List(Of Integer)
For i = 0 To ListTest.Count - 1
If (ListTest.Item(i)の内容が条件に合致する) Then
'処理
'ListTest.RemoveAt(i)
removeIndexList.Add(i) ' 削除対象インデックスを記録
End If
Next
' 削除は後ろから
For i = removeIndexList.Count - 1 To 0 Step -1
ListTest.RemoveAt(removeIndexList(i))
Next
--
<修正>
No50059 のもりおさんのご指摘から、サンプルコードの不具合を修正。
(もりおさん、ご指摘ありがとうございます!)
■修正前
' 削除は後ろから
For i = removeIndexList.Count - 1 To 0 Step -1
ListTest.RemoveAt(i)
Next
↓
■修正後
' 削除は後ろから
For i = removeIndexList.Count - 1 To 0 Step -1
ListTest.RemoveAt(removeIndexList(i))
Next
</修正>