List<T>.CopyTo Método

Definição

Copia o List<T> ou parte dele para uma matriz.

Sobrecargas

CopyTo(T[], Int32)

Copia todo o List<T> para uma matriz unidimensional compatível, iniciando no índice especificado da matriz de destino.

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

Copia um intervalo de elementos do List<T> para uma matriz unidimensional compatível, começando pelo índice especificado da matriz de destino.

CopyTo(T[])

Copia todo o List<T> em uma matriz unidimensional compatível, a partir do início da matriz de destino.

Exemplos

O exemplo a seguir demonstra todas as três sobrecargas do CopyTo método . Um List<T> de cadeias de caracteres é criado e preenchido com 5 cadeias de caracteres. Uma matriz de cadeia de caracteres vazia de 15 elementos é criada e a sobrecarga do CopyTo(T[]) método é usada para copiar todos os elementos da lista para a matriz começando no primeiro elemento da matriz. A CopyTo(T[], Int32) sobrecarga do método é usada para copiar todos os elementos da lista para a matriz começando no índice de matriz 6 (deixando o índice 5 vazio). Por fim, a sobrecarga do CopyTo(Int32, T[], Int32, Int32) método é usada para copiar 3 elementos da lista, começando com o índice 2, para a matriz começando no índice de matriz 12 (deixando o índice 11 vazio). Em seguida, o conteúdo da matriz é exibido.

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)

Origem:
List.cs
Origem:
List.cs
Origem:
List.cs

Copia todo o List<T> para uma matriz unidimensional compatível, iniciando no índice especificado da matriz de destino.

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

Parâmetros

array
T[]

O Array unidimensional que é o destino dos elementos copiados de List<T>. O Array deve ter indexação com base em zero.

arrayIndex
Int32

O índice com base em zero em array no qual a cópia começa.

Implementações

Exceções

array é null.

arrayIndex é menor que 0.

O número de elementos na origem List<T> é maior do que o espaço disponível de arrayIndex até o final do array de destino.

Comentários

Este método usa Array.Copy para copiar os elementos.

Os elementos são copiados para o Array na mesma ordem em que o enumerador itera por meio do List<T>.

Esse método é uma operação O(n), em que n é Count.

Aplica-se a

.NET 9 e outras versões
Produto Versões
.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)

Origem:
List.cs
Origem:
List.cs
Origem:
List.cs

Copia um intervalo de elementos do List<T> para uma matriz unidimensional compatível, começando pelo índice especificado da matriz de destino.

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

Parâmetros

index
Int32

O índice baseado em zero no List<T> de origem em que a cópia começa.

array
T[]

O Array unidimensional que é o destino dos elementos copiados de List<T>. O Array deve ter indexação com base em zero.

arrayIndex
Int32

O índice com base em zero em array no qual a cópia começa.

count
Int32

O número de elementos a serem copiados.

Exceções

array é null.

index é menor que 0.

- ou -

arrayIndex é menor que 0.

- ou -

count é menor que 0.

index é igual a ou maior que o Count do List<T> de origem.

- ou -

O número de elementos de index até o final do List<T> de origem é maior que o espaço disponível do arrayIndex até o final do array de destino.

Comentários

Este método usa Array.Copy para copiar os elementos.

Os elementos são copiados para o Array na mesma ordem em que o enumerador itera por meio do List<T>.

Esse método é uma operação O(n), em que n é count.

Aplica-se a

.NET 9 e outras versões
Produto Versões
.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[])

Origem:
List.cs
Origem:
List.cs
Origem:
List.cs

Copia todo o List<T> em uma matriz unidimensional compatível, a partir do início da matriz de destino.

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

Parâmetros

array
T[]

O Array unidimensional que é o destino dos elementos copiados de List<T>. O Array deve ter indexação com base em zero.

Exceções

array é null.

O número de elementos no List<T> de origem é maior que o número de elementos que o array de destino pode conter.

Comentários

Este método usa Array.Copy para copiar os elementos.

Os elementos são copiados para o Array na mesma ordem em que o enumerador itera por meio do List<T>.

Esse método é uma operação O(n), em que n é Count.

Aplica-se a

.NET 9 e outras versões
Produto Versões
.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