ここではVB.NETのListクラスの操作について紹介します。

要素を追加する

初期化と一緒に要素を追加する

' 文字列のリスト
Dim strList As New List(Of String)(New String() {"A", "B", "C"})

' 数値のリスト
Dim intList As New List(Of Integer)(New Integer() {1, 2, 3})


要素を追加する(Addメソッド)

Dim strList As New List(Of String)

' リストに要素を追加
strList.Add("A")
strList.Add("B")
strList.Add("C")


要素を取得する

要素の位置を指定して取得する

Dim strList As New List(Of String)

' リストに要素を追加
strList.Add("A")
strList.Add("B")
strList.Add("C")

Console.WriteLine(strList(0))  ' 実行結果:A
Console.WriteLine(strList(1))  ' 実行結果:B
Console.WriteLine(strList(2))  ' 実行結果:C


For文ですべての要素を取得する

Dim strList As New List(Of String)

' リストに要素を追加
strList.Add("A")
strList.Add("B")
strList.Add("C")

For i As Integer = 0 To strList.Count - 1
    Console.WriteLine(strList(i))
Next
' 実行結果:A、B、C


For Each文ですべての要素を取得する

Dim strList As New List(Of String)

' リストに要素を追加
strList.Add("A")
strList.Add("B")
strList.Add("C")

For Each ls As String In strList
    Console.WriteLine(ls)
Next
' 実行結果:A、B、C


要素の情報を取得する

要素数を取得する(Countプロパティ)

Dim strList As New List(Of String)

strList.Add("A")
strList.Add("B")
strList.Add("C")

Console.WriteLine(strList.Count)  ' 実行結果:3


指定した要素があるか調べる(Containsメソッド)

Dim strList As New List(Of String)(New String() {"A", "B", "C"})

If strList.Contains("B") Then
    Console.WriteLine("True:ある")
Else
    Console.WriteLine("False:なし")
End If


指定した要素のインデックスを取得する(IndexOfメソッド)

Dim strList As New List(Of String)

strList.Add("A")
strList.Add("B")
strList.Add("C")

Console.WriteLine(strList.IndexOf("B"))  ' 実行結果:1


Listを操作する

指定した位置に要素を追加する(Insertメソッド)

Dim strList As New List(Of String)

strList.Add("A")
strList.Add("B")
strList.Add("C")

' リストの2番目に要素を追加
strList.Insert(1, "AA")

For Each ls As String In strList
    Console.WriteLine(ls)
Next
' 実行結果:A、AA、B、C


指定して位置の要素を変更する

Dim strList As New List(Of String)

strList.Add("A")
strList.Add("B")
strList.Add("C")

' リストの2番目の要素を変更
strList(1) = "b"

For Each ls As String In strList
    Console.WriteLine(ls)
Next
' 実行結果:A、b、C


指定した位置の要素を削除する(RemoveAtメソッド)

Dim strList As New List(Of String)

strList.Add("A")
strList.Add("B")
strList.Add("C")

' リストの2番目の要素を削除
strList.RemoveAt(1)

For Each ls As String In strList
    Console.WriteLine(ls)
Next
' 実行結果:A、C


指定した位置の範囲の要素を削除する(RemoveRangeメソッド)

Dim strList As New List(Of String)

strList.Add("A")
strList.Add("B")
strList.Add("C")
strList.Add("D")

' 1番目から2番目の要素を削除する
strList.RemoveRange(0, 2)

For Each ls As String In strList
    Console.WriteLine(ls)
Next
' 実行結果:C、D


指定した値の要素を削除する(Removeメソッド)

Dim strList As New List(Of String)

strList.Add("A")
strList.Add("B")
strList.Add("C")
strList.Add("B")

' 最初に見つかった要素を削除する
strList.Remove("B")

For Each ls As String In strList
    Console.WriteLine(ls)
Next
' 実行結果:A、C、B


全ての要素を削除する(Clearメソッド)

Dim strList As New List(Of String)

strList.Add("A")
strList.Add("B")
strList.Add("C")

' リストの全ての要素を削除
strList.Clear()

Console.WriteLine(strList.Count)  ' 実行結果:0


要素を昇順でソートする(Sortメソッド)

Dim strList As New List(Of String)

strList.Add("C")
strList.Add("A")
strList.Add("D")
strList.Add("B")

' 昇順でソートする
strList.Sort()

For Each ls As String In strList
    Console.WriteLine(ls)
Next
' 実行結果:A、B、C、D


要素を降順でソートする(Reverseメソッド)

要素を降順でソートするには、昇順でソートされていないと降順でソートされません。

Dim strList As New List(Of String)

strList.Add("C")
strList.Add("A")
strList.Add("D")
strList.Add("B")

' 昇順でソートする
strList.Sort()

' 降順でソートする
strList.Reverse()

For Each ls As String In strList
    Console.WriteLine(ls)
Next
' 実行結果:D、C、B、A


以上、VB.NETのListクラスの操作について解説しました。