List<T>.CopyTo メソッド

定義

List<T>またはその一部を配列にコピーします。

オーバーロード

名前 説明
CopyTo(T[], Int32)

ターゲット配列の指定したインデックスから始まる互換性のある 1 次元配列に、 List<T> 全体をコピーします。

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

ターゲット配列の指定したインデックスから始まる、 List<T> から互換性のある 1 次元配列に要素の範囲をコピーします。

CopyTo(T[])

ターゲット配列の先頭から、互換性のある 1 次元配列に List<T> 全体をコピーします。

次の例では、 CopyTo メソッドの 3 つのオーバーロードすべてを示します。 文字列の List<T> が作成され、5 つの文字列が設定されます。 15 個の要素の空の文字列配列が作成され、 CopyTo(T[]) メソッドのオーバーロードを使用して、リストのすべての要素を配列の最初の要素から始まる配列にコピーします。 CopyTo(T[], Int32) メソッドのオーバーロードは、リストのすべての要素を配列インデックス 6 から始まる配列にコピーするために使用されます (インデックス 5 は空のままにします)。 最後に、 CopyTo(Int32, T[], Int32, Int32) メソッドのオーバーロードを使用して、インデックス 2 から始まる 3 つの要素を配列インデックス 12 から始まる配列にコピーします (インデックス 11 は空のままにします)。 その後、配列の内容が表示されます。

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

CopyTo(T[], Int32)

ソース:
List.cs
ソース:
List.cs
ソース:
List.cs
ソース:
List.cs
ソース:
List.cs

ターゲット配列の指定したインデックスから始まる互換性のある 1 次元配列に、 List<T> 全体をコピーします。

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>Arrayには、0 から始まるインデックスが必要です。

arrayIndex
Int32

コピーを開始する array の 0 から始まるインデックス。

実装

例外

arraynullです。

arrayIndex が 0 未満です。

ソース List<T> 内の要素の数が、 arrayIndex からコピー先の arrayの末尾までの使用可能な領域を超えています。

注釈

このメソッドでは、 Array.Copy を使用して要素をコピーします。

要素は、列挙子がArrayを反復処理するのと同じ順序でList<T>にコピーされます。

このメソッドは O(n) 演算であり、 nCount

適用対象

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

ソース:
List.cs
ソース:
List.cs
ソース:
List.cs
ソース:
List.cs
ソース:
List.cs

ターゲット配列の指定したインデックスから始まる、 List<T> から互換性のある 1 次元配列に要素の範囲をコピーします。

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 から始まるインデックス。

array
T[]

Arrayからコピーされた要素のコピー先となる 1 次元List<T>Arrayには、0 から始まるインデックスが必要です。

arrayIndex
Int32

コピーを開始する array の 0 から始まるインデックス。

count
Int32

コピーする要素の数。

例外

arraynullです。

index が 0 未満です。

-又は-

arrayIndex が 0 未満です。

-又は-

count が 0 未満です。

indexは、ソース CountList<T>以上です。

-又は-

indexからソース List<T>の末尾までの要素の数が、arrayIndexからコピー先のarrayの末尾までの使用可能な領域を超えています。

注釈

このメソッドでは、 Array.Copy を使用して要素をコピーします。

要素は、列挙子がArrayを反復処理するのと同じ順序でList<T>にコピーされます。

このメソッドは O(n) 演算であり、 ncount

適用対象

CopyTo(T[])

ソース:
List.cs
ソース:
List.cs
ソース:
List.cs
ソース:
List.cs
ソース:
List.cs

ターゲット配列の先頭から、互換性のある 1 次元配列に List<T> 全体をコピーします。

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>Arrayには、0 から始まるインデックスが必要です。

例外

arraynullです。

ソース List<T> 内の要素の数が、コピー先の array に含めることができる要素の数を超えています。

注釈

このメソッドでは、 Array.Copy を使用して要素をコピーします。

要素は、列挙子がArrayを反復処理するのと同じ順序でList<T>にコピーされます。

このメソッドは O(n) 演算であり、 nCount

適用対象