C#
List<string> aList = new List<string>(new string[] {"abc", "def"});
List<string> bList = new List<string>(aList);
VB.NET
Dim aList As List(Of String) = New List(Of String)(New String() {"abc", "def"})
Dim bList As List(Of String) = New List(Of String)(aList)
コンストラクタでコピー対象の List を指定するとコピーされます。
値型の場合は、値そのものがコピーされます。
参照型の場合は、参照がコピーされます。
参照型でオブジェクトもコピーしたい場合は、別途ディープコピーの実装が必要です。
サンプルの内容は
- 1行目で string の List を作成し初期値を設定
- 2行目で string の List を作成し1行目で作成した List をコピー
サンプルで使用している string はクラスなので、本来であれば参照型ですが string クラスは例外的に値型と同様の動きをします。
■環境
OS:Microsoft Windows XP Home Edition 日本語 Service Pack 3
IDE:Microsoft Visual Studio 2005 Standard Edition 日本語 Service Pack 1
Framework:Microsoft .NET Framework Version 2.0 SP2