Listのコンストラクタに別のListを指定すると、それと全く同じ内容のListが作成されます。 これにより、Listの複製を作成することができます。
Listのコンストラクタを使って既存のListの複製を作成する
Imports System
Imports System.Collections.Generic
Class Sample
Shared Sub Main()
Dim list1 As New List(Of String)(New String() {"Alice", "Bob", "Charlie"})
Print(list1)
' list1と同じの内容Listを作成する
Dim list2 As New List(Of String)(list1)
Print(list2)
End Sub
Shared Sub Print(ByVal list As List(Of String))
For Each e As String In list
Console.Write("{0}, ", e)
Next
Console.WriteLine()
End Sub
End Class
実行結果
Alice, Bob, Charlie, Alice, Bob, Charlie,
このコンストラクタによる複製では簡易コピーが行われるため、参照型を要素に持つListの場合は参照のみがコピーされます。 簡易コピーについてより詳しくはオブジェクトの複製で解説しています。