List<T>.CopyTo Метод

Определение

Копирует список List<T> или его часть в массив.Copies the List<T> or a portion of it to an array.

Перегрузки

CopyTo(T[], Int32)

Копирует List<T> целиком в совместимый одномерный массив, начиная с указанного индекса конечного массива.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> в совместимый одномерный массив, начиная с указанного индекса конечного массива.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> в совместимый одномерный массив, начиная с первого элемента целевого массива.Copies the entire List<T> to a compatible one-dimensional array, starting at the beginning of the target array.

CopyTo(T[], Int32)

Копирует List<T> целиком в совместимый одномерный массив, начиная с указанного индекса конечного массива.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, в который копируются элементы из интерфейса List<T>.The one-dimensional Array that is the destination of the elements copied from List<T>. Массив Array должен иметь индексацию, начинающуюся с нуля.The Array must have zero-based indexing.

arrayIndex
Int32

Отсчитываемый от нуля индекс в массиве array, указывающий начало копирования.The zero-based index in array at which copying begins.

Реализации

Исключения

Свойство array имеет значение null.array is null.

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

Число элементов в исходной коллекции List<T> больше доступного места от положения, заданного значением параметра arrayIndex, до конца массива назначения array.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.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) используется для копирования 3 элементов из списка, начиная с индекса 2, к массиву, начиная с индекса Array 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.

Элементы копируются в Array в том же порядке, в котором перечислитель проходит по List<T>.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> в совместимый одномерный массив, начиная с указанного индекса конечного массива.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>, с которого начинается копирование.The zero-based index in the source List<T> at which copying begins.

array
T[]

Одномерный массив Array , в который копируются элементы из интерфейса List<T>.The one-dimensional Array that is the destination of the elements copied from List<T>. Массив Array должен иметь индексацию, начинающуюся с нуля.The Array must have zero-based indexing.

arrayIndex
Int32

Отсчитываемый от нуля индекс в массиве array, указывающий начало копирования.The zero-based index in array at which copying begins.

count
Int32

Число элементов для копирования.The number of elements to copy.

Исключения

Свойство array имеет значение null.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 больше или равно значению Count исходного списка List<T>.index is equal to or greater than the Count of the source List<T>.

- или --or- Число элементов от index до конца исходного списка List<T> больше доступного места от положения, заданного значением параметра arrayIndex, до конца массива назначения array.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.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) используется для копирования 3 элементов из списка, начиная с индекса 2, к массиву, начиная с индекса Array 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.

Элементы копируются в Array в том же порядке, в котором перечислитель проходит по List<T>.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> в совместимый одномерный массив, начиная с первого элемента целевого массива.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, в который копируются элементы из интерфейса List<T>.The one-dimensional Array that is the destination of the elements copied from List<T>. Массив Array должен иметь индексацию, начинающуюся с нуля.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.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) используется для копирования 3 элементов из списка, начиная с индекса 2, к массиву, начиная с индекса Array 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.

Элементы копируются в Array в том же порядке, в котором перечислитель проходит по List<T>.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.

Применяется к