List<T>.CopyTo Метод

Определение

Копирует список List<T> или его часть в массив.

Перегрузки

CopyTo(T[], Int32)

Копирует List<T> целиком в совместимый одномерный массив, начиная с указанного индекса конечного массива.

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

Копирует диапазон элементов из списка List<T> в совместимый одномерный массив, начиная с указанного индекса конечного массива.

CopyTo(T[])

Копирует весь список List<T> в совместимый одномерный массив, начиная с первого элемента целевого массива.

Примеры

В следующем примере показаны все три перегрузки CopyTo метода . Создается List<T> список строк и заполняется 5 строками. Создается пустой строковый массив из 15 элементов, а перегрузка CopyTo(T[]) метода используется для копирования всех элементов списка в массив, начиная с первого элемента массива. Перегрузка CopyTo(T[], Int32) метода используется для копирования всех элементов списка в массив, начиная с индекса массива 6 (оставляя индекс 5 пустым). Наконец, перегрузка CopyTo(Int32, T[], Int32, Int32) метода используется для копирования 3 элементов из списка, начиная с индекса 2, в массив, начинающийся с индекса массива 12 (оставляя индекс 11 пустым). Затем отображается содержимое массива.

C#
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> целиком в совместимый одномерный массив, начиная с указанного индекса конечного массива.

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

Параметры

array
T[]

Одномерный массив Array, в который копируются элементы из интерфейса List<T>. Массив Array должен иметь индексацию, начинающуюся с нуля.

arrayIndex
Int32

Отсчитываемый от нуля индекс в массиве array, указывающий начало копирования.

Реализации

Исключения

array имеет значение null.

Значение параметраarrayIndex меньше 0.

Число элементов в исходной коллекции List<T> больше доступного места от положения, заданного значением параметра arrayIndex, до конца массива назначения array.

Комментарии

Этот метод использует Array.Copy для копирования элементов.

Элементы копируются в в Array том же порядке, в котором перечислитель выполняет итерацию по List<T>.

Этот метод является операцией 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> в совместимый одномерный массив, начиная с указанного индекса конечного массива.

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

Параметры

index
Int32

Отсчитываемый от нуля индекс исходного списка List<T>, с которого начинается копирование.

array
T[]

Одномерный массив Array, в который копируются элементы из интерфейса List<T>. Массив Array должен иметь индексацию, начинающуюся с нуля.

arrayIndex
Int32

Отсчитываемый от нуля индекс в массиве array, указывающий начало копирования.

count
Int32

Число элементов для копирования.

Исключения

array имеет значение null.

Значение параметраindex меньше 0.

-или-

Значение параметраarrayIndex меньше 0.

-или-

Значение параметраcount меньше 0.

Значение параметра index больше или равно значению Count исходного списка List<T>.

-или-

Число элементов от index до конца исходного списка List<T> больше доступного места от положения, заданного значением параметра arrayIndex, до конца массива назначения array.

Комментарии

Этот метод использует Array.Copy для копирования элементов.

Элементы копируются в в Array том же порядке, в котором перечислитель выполняет итерацию по List<T>.

Этот метод является операцией 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> в совместимый одномерный массив, начиная с первого элемента целевого массива.

C#
public void CopyTo (T[] array);

Параметры

array
T[]

Одномерный массив Array, в который копируются элементы из интерфейса List<T>. Массив Array должен иметь индексацию, начинающуюся с нуля.

Исключения

array имеет значение null.

Число элементов в исходном массиве List<T> больше числа элементов, которые может содержать массив назначения array.

Комментарии

Этот метод использует Array.Copy для копирования элементов.

Элементы копируются в в Array том же порядке, в котором перечислитель выполняет итерацию по List<T>.

Этот метод является операцией 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