ToArrayメソッドを使うと、Listと同じ内容の配列を作成することができます。 このメソッドは、現在Listに格納されている内容をコピーした配列を返します。
ToArrayメソッドを使ってListの内容を配列に変換する
Imports System
Imports System.Collections.Generic
Class Sample
Shared Sub Main()
Dim list As New List(Of String)(New String() {"Alice", "Bob", "Charlie", "Dave"})
list.Add("Eve")
' Listの内容を配列に変換
Dim arr As String() = list.ToArray()
' 変換した配列の内容を表示
Console.WriteLine("Length = {0}", arr.Length)
For Each e As String In arr
Console.WriteLine(e)
Next
End Sub
End Class
実行結果
Length = 5 Alice Bob Charlie Dave Eve
このメソッドでは簡易コピーが行われるため、参照型を要素に持つListの場合は参照のみがコピーされます。 簡易コピーについてより詳しくはオブジェクトの複製で解説しています。
このメソッドではAsReadOnlyメソッド等とは異なり、Listに対するビューを返すのではなく、同じ内容を持つ配列を作成します。 そのため、作成元のListと作成後の配列のどちらかに変更を加えた場合でも、もう一方に影響することはありません。