削除したい値を指定してListに格納されている要素を削除するにはRemoveメソッドを使います。 List内に同じ値を持つ要素が複数ある場合、Removeメソッドは最初に見つかったものを削除します。
Listから要素を削除した場合、RemoveメソッドはTrue
を返します。 削除しようとした値をもつ要素がList内に無かった場合、RemoveメソッドはFalse
を返します。
Removeメソッドを使って指定された値を持つ要素をList内から削除する
Imports System
Imports System.Collections.Generic
Class Sample
Shared Sub Main()
Dim list As New List(Of Integer)(New Integer() {0, 1, 2, 1, 0})
Print(list)
' 値1を持つ最初の要素を削除する
' (最初に見つかった1が削除される)
list.Remove(1)
Print(list)
' 値1を持つ最初の要素を削除する
list.Remove(1)
Print(list)
End Sub
Shared Sub Print(ByVal list As List(Of Integer))
For Each e As Integer In list
Console.Write("{0}, ", e)
Next
Console.WriteLine()
End Sub
End Class
実行結果
0, 1, 2, 1, 0, 0, 2, 1, 0, 0, 2, 0,
Removeメソッドでは削除したい値を指定します。 削除したい要素のインデックスを指定して要素を削除したい場合はRemoveAtメソッドメソッドを使うことができます。