.NET Framework Class Library List<(Of <(T>)>)..::.CopyTo Method (array<T>[]()[], Int32) Copies the entire List<(Of <(T>)>) to a compatible one-dimensional array, starting at the specified index of the target array.
Namespace:
System.Collections.Generic
Assembly:
mscorlib (in mscorlib.dll)

Syntax
Public Sub CopyTo ( _
array As T(), _
arrayIndex As Integer _
)
public void CopyTo(
T[] array,
int arrayIndex
)
public:
virtual void CopyTo(
array<T>^ array,
int arrayIndex
) sealed
abstract CopyTo :
array:'T[] *
arrayIndex:int -> unit
override CopyTo :
array:'T[] *
arrayIndex:int -> unit
Parameters- array
- Type: array<T>[]()[]
The one-dimensional Array that is the destination of the elements copied from List<(Of <(T>)>). The Array must have zero-based indexing.
- arrayIndex
- Type: System..::.Int32
The zero-based index in array at which copying begins.
ImplementsICollection<(Of <(T>)>)..::.CopyTo(array<T>[]()[], Int32)

Exceptions

Remarks
This method uses Array..::.Copy to copy the elements. The elements are copied to the Array in the same order in which the enumerator iterates through the List<(Of <(T>)>). This method is an O(n) operation, where n is Count.

Examples
The following code example demonstrates all three overloads of the CopyTo method. A List<(Of <(T>)>) of strings is created and populated with 5 strings. An empty string array of 15 elements is created, and the CopyTo(array<T>[]()[]) method overload is used to copy all the elements of the list to the array beginning at the first element of the array. The CopyTo(array<T>[]()[], Int32) method overload is used to copy all the elements of the list to the array beginning at array index 6 (leaving index 5 empty). Finally, the CopyTo(Int32, array<T>[]()[], Int32, Int32) method overload is used to copy 3 elements from the list, beginning with index 2, to the array beginning at array index 12 (leaving index 11 empty). The contents of the array are then displayed.
Imports System
Imports System.Collections.Generic
Public Class Example
Public Shared Sub Main()
Dim dinosaurs As New List(Of String)
dinosaurs.Add("Tyrannosaurus")
dinosaurs.Add("Amargasaurus")
dinosaurs.Add("Mamenchisaurus")
dinosaurs.Add("Brachiosaurus")
dinosaurs.Add("Compsognathus")
Console.WriteLine()
For Each dinosaur As String In dinosaurs
Console.WriteLine(dinosaur)
Next
' Declare an array with 15 elements (0 through 14).
Dim array(14) As String
dinosaurs.CopyTo(array)
dinosaurs.CopyTo(array, 6)
dinosaurs.CopyTo(2, array, 12, 3)
Console.WriteLine(vbLf & "Contents of the array:")
For Each dinosaur As String In array
Console.WriteLine(dinosaur)
Next
End Sub
End Class
' This code example produces the following output:
'
'Tyrannosaurus
'Amargasaurus
'Mamenchisaurus
'Brachiosaurus
'Compsognathus
'
'Contents of the array:
'Tyrannosaurus
'Amargasaurus
'Mamenchisaurus
'Brachiosaurus
'Compsognathus
'
'Tyrannosaurus
'Amargasaurus
'Mamenchisaurus
'Brachiosaurus
'Compsognathus
'
'Mamenchisaurus
'Brachiosaurus
'Compsognathus
using System;
using System.Collections.Generic;
public class Example
{
public static void Main()
{
List<string> dinosaurs = new List<string>();
dinosaurs.Add("Tyrannosaurus");
dinosaurs.Add("Amargasaurus");
dinosaurs.Add("Mamenchisaurus");
dinosaurs.Add("Brachiosaurus");
dinosaurs.Add("Compsognathus");
Console.WriteLine();
foreach(string dinosaur in dinosaurs)
{
Console.WriteLine(dinosaur);
}
// Declare an array with 15 elements.
string[] array = new string[15];
dinosaurs.CopyTo(array);
dinosaurs.CopyTo(array, 6);
dinosaurs.CopyTo(2, array, 12, 3);
Console.WriteLine("\nContents of the array:");
foreach(string dinosaur in array)
{
Console.WriteLine(dinosaur);
}
}
}
/* This code example produces the following output:
Tyrannosaurus
Amargasaurus
Mamenchisaurus
Brachiosaurus
Compsognathus
Contents of the array:
Tyrannosaurus
Amargasaurus
Mamenchisaurus
Brachiosaurus
Compsognathus
Tyrannosaurus
Amargasaurus
Mamenchisaurus
Brachiosaurus
Compsognathus
Mamenchisaurus
Brachiosaurus
Compsognathus
*/
using namespace System;
using namespace System::Collections::Generic;
void main()
{
List<String^>^ dinosaurs = gcnew List<String^>();
dinosaurs->Add("Tyrannosaurus");
dinosaurs->Add("Amargasaurus");
dinosaurs->Add("Mamenchisaurus");
dinosaurs->Add("Brachiosaurus");
dinosaurs->Add("Compsognathus");
Console::WriteLine();
for each(String^ dinosaurs in dinosaurs )
{
Console::WriteLine(dinosaurs);
}
// Create an array of 15 strings.
array<String^>^ arr = gcnew array<String^>(15);
dinosaurs->CopyTo(arr);
dinosaurs->CopyTo(arr, 6);
dinosaurs->CopyTo(2, arr, 12, 3);
Console::WriteLine("\nContents of the array:");
for each(String^ dinosaurs in arr )
{
Console::WriteLine(dinosaurs);
}
}
/* This code example produces the following output:
Tyrannosaurus
Amargasaurus
Mamenchisaurus
Brachiosaurus
Deinonychus
Tyrannosaurus
Compsognathus
IndexOf("Tyrannosaurus"): 0
IndexOf("Tyrannosaurus", 3): 5
IndexOf("Tyrannosaurus", 2, 2): -1
*/

Version Information
.NET FrameworkSupported in: 4, 3.5, 3.0, 2.0 .NET Framework Client ProfileSupported in: 4, 3.5 SP1 Portable Class LibrarySupported in: Portable Class Library

Platforms
Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role not supported), Windows Server 2003 SP2
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

See Also
|
.NET Framework クラス ライブラリ List<(Of <(T>)>)..::.CopyTo メソッド (array<T>[]()[], Int32)
名前空間:
System.Collections.Generic
アセンブリ:
mscorlib (mscorlib.dll 内)

構文
Public Sub CopyTo ( _
array As T(), _
arrayIndex As Integer _
)
public void CopyTo(
T[] array,
int arrayIndex
)
public:
virtual void CopyTo(
array<T>^ array,
int arrayIndex
) sealed
abstract CopyTo :
array:'T[] *
arrayIndex:int -> unit
override CopyTo :
array:'T[] *
arrayIndex:int -> unit
実装ICollection<(Of <(T>)>)..::.CopyTo(array<T>[]()[], Int32)

例外

解説

例
CopyTo メソッドの全 3 種類の使用方法をオーバーロードしたコード例を次に示します。 文字列の List<(Of <(T>)>) が作成され、5 つの文字列が設定されます。 15 要素から成る空の文字列配列が作成されます。CopyTo(array<T>[]()[]) メソッドのオーバーロードを使用して、リストのすべての要素を、配列の最初の要素を開始位置としてコピーします。 CopyTo(array<T>[]()[], Int32) メソッドのオーバーロードを使用して、リストのすべての要素を、配列のインデックス 6 を開始位置として (インデックス 5 は空のまま) コピーします。 最後に、CopyTo(Int32, array<T>[]()[], Int32, Int32) メソッドのオーバーロードを使用して、リストのインデックス 2 から始まる 3 つの要素を、配列のインデックス 12 を開始位置として (インデックス 11 は空のまま) コピーします。 次に、配列の内容が表示されます。
Imports System
Imports System.Collections.Generic
Public Class Example
Public Shared Sub Main()
Dim dinosaurs As New List(Of String)
dinosaurs.Add("Tyrannosaurus")
dinosaurs.Add("Amargasaurus")
dinosaurs.Add("Mamenchisaurus")
dinosaurs.Add("Brachiosaurus")
dinosaurs.Add("Compsognathus")
Console.WriteLine()
For Each dinosaur As String In dinosaurs
Console.WriteLine(dinosaur)
Next
' Declare an array with 15 elements (0 through 14).
Dim array(14) As String
dinosaurs.CopyTo(array)
dinosaurs.CopyTo(array, 6)
dinosaurs.CopyTo(2, array, 12, 3)
Console.WriteLine(vbLf & "Contents of the array:")
For Each dinosaur As String In array
Console.WriteLine(dinosaur)
Next
End Sub
End Class
' This code example produces the following output:
'
'Tyrannosaurus
'Amargasaurus
'Mamenchisaurus
'Brachiosaurus
'Compsognathus
'
'Contents of the array:
'Tyrannosaurus
'Amargasaurus
'Mamenchisaurus
'Brachiosaurus
'Compsognathus
'
'Tyrannosaurus
'Amargasaurus
'Mamenchisaurus
'Brachiosaurus
'Compsognathus
'
'Mamenchisaurus
'Brachiosaurus
'Compsognathus
using System;
using System.Collections.Generic;
public class Example
{
public static void Main()
{
List<string> dinosaurs = new List<string>();
dinosaurs.Add("Tyrannosaurus");
dinosaurs.Add("Amargasaurus");
dinosaurs.Add("Mamenchisaurus");
dinosaurs.Add("Brachiosaurus");
dinosaurs.Add("Compsognathus");
Console.WriteLine();
foreach(string dinosaur in dinosaurs)
{
Console.WriteLine(dinosaur);
}
// Declare an array with 15 elements.
string[] array = new string[15];
dinosaurs.CopyTo(array);
dinosaurs.CopyTo(array, 6);
dinosaurs.CopyTo(2, array, 12, 3);
Console.WriteLine("\nContents of the array:");
foreach(string dinosaur in array)
{
Console.WriteLine(dinosaur);
}
}
}
/* This code example produces the following output:
Tyrannosaurus
Amargasaurus
Mamenchisaurus
Brachiosaurus
Compsognathus
Contents of the array:
Tyrannosaurus
Amargasaurus
Mamenchisaurus
Brachiosaurus
Compsognathus
Tyrannosaurus
Amargasaurus
Mamenchisaurus
Brachiosaurus
Compsognathus
Mamenchisaurus
Brachiosaurus
Compsognathus
*/
using namespace System;
using namespace System::Collections::Generic;
void main()
{
List<String^>^ dinosaurs = gcnew List<String^>();
dinosaurs->Add("Tyrannosaurus");
dinosaurs->Add("Amargasaurus");
dinosaurs->Add("Mamenchisaurus");
dinosaurs->Add("Brachiosaurus");
dinosaurs->Add("Compsognathus");
Console::WriteLine();
for each(String^ dinosaurs in dinosaurs )
{
Console::WriteLine(dinosaurs);
}
// Create an array of 15 strings.
array<String^>^ arr = gcnew array<String^>(15);
dinosaurs->CopyTo(arr);
dinosaurs->CopyTo(arr, 6);
dinosaurs->CopyTo(2, arr, 12, 3);
Console::WriteLine("\nContents of the array:");
for each(String^ dinosaurs in arr )
{
Console::WriteLine(dinosaurs);
}
}
/* This code example produces the following output:
Tyrannosaurus
Amargasaurus
Mamenchisaurus
Brachiosaurus
Deinonychus
Tyrannosaurus
Compsognathus
IndexOf("Tyrannosaurus"): 0
IndexOf("Tyrannosaurus", 3): 5
IndexOf("Tyrannosaurus", 2, 2): -1
*/

バージョン情報
.NET Frameworkサポート対象: 4、3.5、3.0、2.0 .NET Framework Client Profileサポート対象: 4、3.5 SP1 サポート対象:

プラットフォーム
Windows 7, Windows Vista SP1 以降, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core はサポート対象外), Windows Server 2008 R2 (SP1 以降で Server Core をサポート), Windows Server 2003 SP2
.NET Framework では、各プラットフォームのすべてのバージョンはサポートしていません。 サポートされているバージョンについては、「.NET Framework システム要件」を参照してください。

参照
|