List<T>.CopyTo メソッド

定義

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

オーバーロード

CopyTo(T[], Int32)

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

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

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

CopyTo(T[])

List<T> 全体を互換性のある 1 次元の配列にコピーします。コピー操作は、コピー先の配列の先頭から始まります。

次の例では、 メソッドの 3 つのオーバーロードすべてを示します CopyTo 。 文字列の A 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
 */

CopyTo(T[], Int32)

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

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

public void CopyTo (T[] array, int arrayIndex);

パラメーター

array
T[]

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

arrayIndex
Int32

コピーの開始位置とする array のインデックス (0 から始まる)。

実装

例外

arraynullです。

arrayIndex が 0 未満です。

コピー元の List<T> の要素数が、コピー先 arrayarrayIndex から最後までの使用可能領域を超えています。

注釈

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

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

このメソッドは O(n) 操作で、 n は です Count

適用対象

.NET 9 およびその他のバージョン
製品 バージョン
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

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

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

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

public void CopyTo (int index, T[] array, int arrayIndex, int count);

パラメーター

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 がコピー元の List<T>Count 以上です。

- または -

コピー元の List<T>index から最後までの要素数が、コピー先の arrayarrayIndex から最後までの使用可能な領域を超えています。

注釈

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

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

このメソッドは O(n) 操作で、 n は です count

適用対象

.NET 9 およびその他のバージョン
製品 バージョン
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

CopyTo(T[])

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

List<T> 全体を互換性のある 1 次元の配列にコピーします。コピー操作は、コピー先の配列の先頭から始まります。

public void CopyTo (T[] array);

パラメーター

array
T[]

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

例外

arraynullです。

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

注釈

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

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

このメソッドは O(n) 操作で、 n は です Count

適用対象

.NET 9 およびその他のバージョン
製品 バージョン
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0