List<T>.CopyTo メソッド

定義

List<T> またはその一部を配列にコピーします。Copies the List<T> or a portion of it to an array.

オーバーロード

CopyTo(T[], Int32)

List<T> 全体を、互換性のある 1 次元配列の、指定したインデックスから始まる位置にコピーします。Copies the entire List<T> to a compatible one-dimensional array, starting at the specified index of the target array.

CopyTo(Int32, T[], Int32, Int32)

List<T> のうちある範囲の要素を、互換性のある 1 次元の配列にコピーします。コピー操作は、コピー先の配列の指定したインデックスから始まります。Copies a range of elements from the List<T> to a compatible one-dimensional array, starting at the specified index of the target array.

CopyTo(T[])

List<T> 全体を互換性のある 1 次元の配列にコピーします。コピー操作は、コピー先の配列の先頭から始まります。Copies the entire List<T> to a compatible one-dimensional array, starting at the beginning of the target array.

CopyTo(T[], Int32)

List<T> 全体を、互換性のある 1 次元配列の、指定したインデックスから始まる位置にコピーします。Copies the entire List<T> to a compatible one-dimensional array, starting at the specified index of the target array.

public:
 virtual void CopyTo(cli::array <T> ^ array, int arrayIndex);
public void CopyTo (T[] array, int arrayIndex);
abstract member CopyTo : 'T[] * int -> unit
override this.CopyTo : 'T[] * int -> unit
Public Sub CopyTo (array As T(), arrayIndex As Integer)

パラメーター

array
T[]

Array から要素がコピーされる 1 次元の List<T>The one-dimensional Array that is the destination of the elements copied from List<T>. Array には、0 から始まるインデックス番号が必要です。The Array must have zero-based indexing.

arrayIndex
Int32

コピーを開始する array の 0 から始まるインデックス。The zero-based index in array at which copying begins.

実装

例外

arraynull です。array is null.

arrayIndex が 0 未満です。arrayIndex is less than 0.

コピー元の List<T> の要素数が、コピー先 arrayIndexarray から最後までの使用可能領域を超えています。The number of elements in the source List<T> is greater than the available space from arrayIndex to the end of the destination array.

次の例は、CopyTo メソッドの3つのオーバーロードすべてを示しています。The following example demonstrates all three overloads of the CopyTo method. 文字列の List<T> が作成され、5つの文字列が設定されます。A List<T> of strings is created and populated with 5 strings. 空の文字列配列15個の要素が作成され、CopyTo(T[]) メソッドのオーバーロードを使用して、配列の最初の要素を開始位置として、リストのすべての要素が配列にコピーされます。An empty string array of 15 elements is created, and the CopyTo(T[]) method overload is used to copy all the elements of the list to the array beginning at the first element of the array. CopyTo(T[], Int32) メソッドのオーバーロードを使用して、リストのすべての要素を配列インデックス6から始まる配列にコピーします (インデックス5は空のまま)。The CopyTo(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). 最後に、CopyTo(Int32, T[], Int32, Int32) メソッドのオーバーロードを使用して、インデックス2から始まる3つの要素をリストから配列インデックス12で始まる配列にコピーします (インデックス11を空のままにします)。Finally, the CopyTo(Int32, 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.

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
 */
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
 */
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

注釈

このメソッドは Array.Copy を使用して要素をコピーします。This method uses Array.Copy to copy the elements.

要素は、列挙子が List<T>を反復処理するのと同じ順序で Array にコピーされます。The elements are copied to the Array in the same order in which the enumerator iterates through the List<T>.

このメソッドは O (n) 操作です。ここで、 nCountです。This method is an O(n) operation, where n is Count.

CopyTo(Int32, T[], Int32, Int32)

List<T> のうちある範囲の要素を、互換性のある 1 次元の配列にコピーします。コピー操作は、コピー先の配列の指定したインデックスから始まります。Copies a range of elements from the List<T> to a compatible one-dimensional array, starting at the specified index of the target array.

public:
 void CopyTo(int index, cli::array <T> ^ array, int arrayIndex, int count);
public void CopyTo (int index, T[] array, int arrayIndex, int count);
member this.CopyTo : int * 'T[] * int * int -> unit
Public Sub CopyTo (index As Integer, array As T(), arrayIndex As Integer, count As Integer)

パラメーター

index
Int32

コピーを開始するコピー元の List<T> 内の、0 から始まるインデックス番号。The zero-based index in the source List<T> at which copying begins.

array
T[]

Array から要素がコピーされる 1 次元の List<T>The one-dimensional Array that is the destination of the elements copied from List<T>. Array には、0 から始まるインデックス番号が必要です。The Array must have zero-based indexing.

arrayIndex
Int32

コピーを開始する array の 0 から始まるインデックス。The zero-based index in array at which copying begins.

count
Int32

コピーする要素の数。The number of elements to copy.

例外

arraynull です。array is null.

index が 0 未満です。index is less than 0.

または-or- arrayIndex が 0 未満です。arrayIndex is less than 0.

または-or- count が 0 未満です。count is less than 0.

index がコピー元の CountList<T> 以上です。index is equal to or greater than the Count of the source List<T>.

または-or- コピー元の indexList<T> から最後までの要素数が、コピー先の arrayIndexarray から最後までの使用可能な領域を超えています。The number of elements from index to the end of the source List<T> is greater than the available space from arrayIndex to the end of the destination array.

次の例は、CopyTo メソッドの3つのオーバーロードすべてを示しています。The following example demonstrates all three overloads of the CopyTo method. 文字列の List<T> が作成され、5つの文字列が設定されます。A List<T> of strings is created and populated with 5 strings. 空の文字列配列15個の要素が作成され、CopyTo(T[]) メソッドのオーバーロードを使用して、配列の最初の要素を開始位置として、リストのすべての要素が配列にコピーされます。An empty string array of 15 elements is created, and the CopyTo(T[]) method overload is used to copy all the elements of the list to the array beginning at the first element of the array. CopyTo(T[], Int32) メソッドのオーバーロードを使用して、リストのすべての要素を配列インデックス6から始まる配列にコピーします (インデックス5は空のまま)。The CopyTo(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). 最後に、CopyTo(Int32, T[], Int32, Int32) メソッドのオーバーロードを使用して、インデックス2から始まる3つの要素をリストから配列インデックス12で始まる配列にコピーします (インデックス11を空のままにします)。Finally, the CopyTo(Int32, 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.

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
 */
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
 */
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

注釈

このメソッドは Array.Copy を使用して要素をコピーします。This method uses Array.Copy to copy the elements.

要素は、列挙子が List<T>を反復処理するのと同じ順序で Array にコピーされます。The elements are copied to the Array in the same order in which the enumerator iterates through the List<T>.

このメソッドは O (n) 操作です。ここで、 ncountです。This method is an O(n) operation, where n is count.

CopyTo(T[])

List<T> 全体を互換性のある 1 次元の配列にコピーします。コピー操作は、コピー先の配列の先頭から始まります。Copies the entire List<T> to a compatible one-dimensional array, starting at the beginning of the target array.

public:
 void CopyTo(cli::array <T> ^ array);
public void CopyTo (T[] array);
member this.CopyTo : 'T[] -> unit
Public Sub CopyTo (array As T())

パラメーター

array
T[]

Array から要素がコピーされる 1 次元の List<T>The one-dimensional Array that is the destination of the elements copied from List<T>. Array には、0 から始まるインデックス番号が必要です。The Array must have zero-based indexing.

例外

arraynull です。array is null.

コピー元の List<T> の要素数が、コピー先 array に含めることができる要素数を超えています。The number of elements in the source List<T> is greater than the number of elements that the destination array can contain.

次の例は、CopyTo メソッドの3つのオーバーロードすべてを示しています。The following example demonstrates all three overloads of the CopyTo method. 文字列の List<T> が作成され、5つの文字列が設定されます。A List<T> of strings is created and populated with 5 strings. 空の文字列配列15個の要素が作成され、CopyTo(T[]) メソッドのオーバーロードを使用して、配列の最初の要素を開始位置として、リストのすべての要素が配列にコピーされます。An empty string array of 15 elements is created, and the CopyTo(T[]) method overload is used to copy all the elements of the list to the array beginning at the first element of the array. CopyTo(T[], Int32) メソッドのオーバーロードを使用して、リストのすべての要素を配列インデックス6から始まる配列にコピーします (インデックス5は空のまま)。The CopyTo(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). 最後に、CopyTo(Int32, T[], Int32, Int32) メソッドのオーバーロードを使用して、インデックス2から始まる3つの要素をリストから配列インデックス12で始まる配列にコピーします (インデックス11を空のままにします)。Finally, the CopyTo(Int32, 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.

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
 */
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
 */
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

注釈

このメソッドは Array.Copy を使用して要素をコピーします。This method uses Array.Copy to copy the elements.

要素は、列挙子が List<T>を反復処理するのと同じ順序で Array にコピーされます。The elements are copied to the Array in the same order in which the enumerator iterates through the List<T>.

このメソッドは O (n) 操作です。ここで、 nCountです。This method is an O(n) operation, where n is Count.

適用対象