List<T>.CopyTo Método

Definición

Copia la totalidad de List<T> o una parte en una matriz.

Sobrecargas

CopyTo(T[], Int32)

Copia la totalidad de List<T> en una matriz unidimensional compatible, empezando por el índice especificado de la matriz de destino.

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

Copia un intervalo de elementos de List<T> en una matriz unidimensional compatible, empezando en el índice especificado de la matriz de destino.

CopyTo(T[])

Copia toda la List<T> en una matriz unidimensional compatible, empezando en el principio de la matriz de destino.

Ejemplos

En el ejemplo siguiente se muestran las tres sobrecargas del CopyTo método . Se List<T> crea una de cadenas y se rellena con 5 cadenas. Se crea una matriz de cadenas vacía de 15 elementos y la CopyTo(T[]) sobrecarga del método se usa para copiar todos los elementos de la lista en la matriz a partir del primer elemento de la matriz. La CopyTo(T[], Int32) sobrecarga del método se usa para copiar todos los elementos de la lista en la matriz a partir del índice de matriz 6 (dejando el índice 5 vacío). Por último, la sobrecarga del CopyTo(Int32, T[], Int32, Int32) método se usa para copiar 3 elementos de la lista, empezando por el índice 2, a la matriz a partir del índice de matriz 12 (dejando el índice 11 vacío). A continuación, se muestra el contenido de la matriz.

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

CopyTo(T[], Int32)

Copia la totalidad de List<T> en una matriz unidimensional compatible, empezando por el índice especificado de la matriz de destino.

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)

Parámetros

array
T[]

Array unidimensional que constituye el destino de los elementos copiados de List<T>. La matriz Array debe tener una indización de base cero.

arrayIndex
Int32

Índice de base cero en la array donde comienza la copia.

Implementaciones

Excepciones

array es null.

arrayIndex es menor que 0.

El número de elementos de la List<T> de origen es mayor que el espacio disponible desde arrayIndex hasta el final de la array de destino.

Comentarios

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

Los elementos se copian en en Array el mismo orden en el que el enumerador recorre en iteración .List<T>

Este método es una operación O(n), donde n es Count.

Se aplica a

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

Copia un intervalo de elementos de List<T> en una matriz unidimensional compatible, empezando en el índice especificado de la matriz de destino.

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)

Parámetros

index
Int32

Índice de base cero de la List<T> de origen donde comienza la copia.

array
T[]

Array unidimensional que constituye el destino de los elementos copiados de List<T>. La matriz Array debe tener una indización de base cero.

arrayIndex
Int32

Índice de base cero en la array donde comienza la copia.

count
Int32

Número de elementos que se van a copiar.

Excepciones

array es null.

index es menor que 0.

o bien

arrayIndex es menor que 0.

O bien

count es menor que 0.

index es igual o mayor que la longitud de Count de List<T> de origen.

o bien

El número de elementos desde index hasta el final de List<T> de origen es mayor que el espacio disponible desde arrayIndex hasta el final de array de destino.

Comentarios

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

Los elementos se copian en en Array el mismo orden en el que el enumerador recorre en iteración .List<T>

Este método es una operación O(n), donde n es count.

Se aplica a

CopyTo(T[])

Copia toda la List<T> en una matriz unidimensional compatible, empezando en el principio de la matriz de destino.

public:
 void CopyTo(cli::array <T> ^ array);
public void CopyTo (T[] array);
member this.CopyTo : 'T[] -> unit
Public Sub CopyTo (array As T())

Parámetros

array
T[]

Array unidimensional que constituye el destino de los elementos copiados de List<T>. La matriz Array debe tener una indización de base cero.

Excepciones

array es null.

El número de elementos del List<T> de origen es mayor que el número de elementos que puede contener el array de destino.

Comentarios

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

Los elementos se copian en en Array el mismo orden en el que el enumerador recorre en iteración .List<T>

Este método es una operación O(n), donde n es Count.

Se aplica a