List<T>.CopyTo Metodo

Definizione

Copia List<T> o una parte di esso in una matrice.Copies the List<T> or a portion of it to an array.

Overload

CopyTo(T[], Int32)

Copia l'intero oggetto List<T> in una matrice compatibile unidimensionale, a partire dall'indice specificato della matrice di destinazione.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)

Copia un intervallo di elementi da List<T> in una matrice compatibile unidimensionale, a partire dall'indice specificato della matrice di destinazione.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[])

Copia l'intero oggetto List<T> in una matrice compatibile unidimensionale, a partire dall'inizio della matrice di destinazione.Copies the entire List<T> to a compatible one-dimensional array, starting at the beginning of the target array.

CopyTo(T[], Int32)

Copia l'intero oggetto List<T> in una matrice compatibile unidimensionale, a partire dall'indice specificato della matrice di destinazione.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)

Parametri

array
T[]

Oggetto Array unidimensionale che rappresenta la destinazione degli elementi copiati dall'oggetto List<T>.The one-dimensional Array that is the destination of the elements copied from List<T>. L'indicizzazione di Array deve essere in base zero.The Array must have zero-based indexing.

arrayIndex
Int32

Indice in base zero in array in corrispondenza del quale viene avviata la copia.The zero-based index in array at which copying begins.

Implementazioni

Eccezioni

array è null.array is null.

arrayIndex è minore di 0.arrayIndex is less than 0.

Il numero di elementi nell'oggetto List<T> di origine è maggiore dello spazio disponibile tra arrayIndex e la fine dell'oggetto array di destinazione.The number of elements in the source List<T> is greater than the available space from arrayIndex to the end of the destination array.

Esempi

Nell'esempio seguente vengono illustrati tutti e tre gli overload del metodo CopyTo.The following example demonstrates all three overloads of the CopyTo method. Un List<T> di stringhe viene creato e popolato con 5 stringhe.A List<T> of strings is created and populated with 5 strings. Viene creata una matrice di stringhe vuota di 15 elementi e viene usato l'overload del metodo CopyTo(T[]) per copiare tutti gli elementi dell'elenco nella matrice a partire dal primo elemento della matrice.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. L'overload del metodo CopyTo(T[], Int32) viene usato per copiare tutti gli elementi dell'elenco nella matrice a partire dall'indice di matrice 6 (lasciando vuoto index 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). Infine, viene utilizzato l'overload del metodo CopyTo(Int32, T[], Int32, Int32) per copiare 3 elementi dall'elenco, a partire dall'indice 2, alla matrice a partire dall'indice di matrice 12 (lasciando vuoto index 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). Il contenuto della matrice viene quindi visualizzato.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

Commenti

Questo metodo usa Array.Copy per copiare gli elementi.This method uses Array.Copy to copy the elements.

Gli elementi vengono copiati nella Array nello stesso ordine in cui l'enumeratore scorre l'List<T>.The elements are copied to the Array in the same order in which the enumerator iterates through the List<T>.

Questo metodo è un'operazione O (n), dove n è Count.This method is an O(n) operation, where n is Count.

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

Copia un intervallo di elementi da List<T> in una matrice compatibile unidimensionale, a partire dall'indice specificato della matrice di destinazione.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)

Parametri

index
Int32

Indice in base zero dell'oggetto List<T> di origine a partire dal quale viene effettuata la copia.The zero-based index in the source List<T> at which copying begins.

array
T[]

Oggetto Array unidimensionale che rappresenta la destinazione degli elementi copiati dall'oggetto List<T>.The one-dimensional Array that is the destination of the elements copied from List<T>. L'indicizzazione di Array deve essere in base zero.The Array must have zero-based indexing.

arrayIndex
Int32

Indice in base zero in array in corrispondenza del quale viene avviata la copia.The zero-based index in array at which copying begins.

count
Int32

Numero degli elementi da copiare.The number of elements to copy.

Eccezioni

array è null.array is null.

index è minore di 0.index is less than 0.

-oppure--or- arrayIndex è minore di 0.arrayIndex is less than 0.

-oppure--or- count è minore di 0.count is less than 0.

index è maggiore o uguale al valore di Count dell'oggetto List<T> di origine.index is equal to or greater than the Count of the source List<T>.

-oppure--or- Il numero di elementi da index alla fine dell'oggetto List<T> di origine è maggiore dello spazio disponibile da arrayIndex alla fine dell'oggetto array di destinazione.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.

Esempi

Nell'esempio seguente vengono illustrati tutti e tre gli overload del metodo CopyTo.The following example demonstrates all three overloads of the CopyTo method. Un List<T> di stringhe viene creato e popolato con 5 stringhe.A List<T> of strings is created and populated with 5 strings. Viene creata una matrice di stringhe vuota di 15 elementi e viene usato l'overload del metodo CopyTo(T[]) per copiare tutti gli elementi dell'elenco nella matrice a partire dal primo elemento della matrice.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. L'overload del metodo CopyTo(T[], Int32) viene usato per copiare tutti gli elementi dell'elenco nella matrice a partire dall'indice di matrice 6 (lasciando vuoto index 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). Infine, viene utilizzato l'overload del metodo CopyTo(Int32, T[], Int32, Int32) per copiare 3 elementi dall'elenco, a partire dall'indice 2, alla matrice a partire dall'indice di matrice 12 (lasciando vuoto index 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). Il contenuto della matrice viene quindi visualizzato.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

Commenti

Questo metodo usa Array.Copy per copiare gli elementi.This method uses Array.Copy to copy the elements.

Gli elementi vengono copiati nella Array nello stesso ordine in cui l'enumeratore scorre l'List<T>.The elements are copied to the Array in the same order in which the enumerator iterates through the List<T>.

Questo metodo è un'operazione O (n), dove n è count.This method is an O(n) operation, where n is count.

CopyTo(T[])

Copia l'intero oggetto List<T> in una matrice compatibile unidimensionale, a partire dall'inizio della matrice di destinazione.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())

Parametri

array
T[]

Oggetto Array unidimensionale che rappresenta la destinazione degli elementi copiati dall'oggetto List<T>.The one-dimensional Array that is the destination of the elements copied from List<T>. L'indicizzazione di Array deve essere in base zero.The Array must have zero-based indexing.

Eccezioni

array è null.array is null.

Il numero di elementi nell'oggetto List<T> di origine è maggiore del numero di elementi che l'oggetto array di destinazione può contenere.The number of elements in the source List<T> is greater than the number of elements that the destination array can contain.

Esempi

Nell'esempio seguente vengono illustrati tutti e tre gli overload del metodo CopyTo.The following example demonstrates all three overloads of the CopyTo method. Un List<T> di stringhe viene creato e popolato con 5 stringhe.A List<T> of strings is created and populated with 5 strings. Viene creata una matrice di stringhe vuota di 15 elementi e viene usato l'overload del metodo CopyTo(T[]) per copiare tutti gli elementi dell'elenco nella matrice a partire dal primo elemento della matrice.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. L'overload del metodo CopyTo(T[], Int32) viene usato per copiare tutti gli elementi dell'elenco nella matrice a partire dall'indice di matrice 6 (lasciando vuoto index 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). Infine, viene utilizzato l'overload del metodo CopyTo(Int32, T[], Int32, Int32) per copiare 3 elementi dall'elenco, a partire dall'indice 2, alla matrice a partire dall'indice di matrice 12 (lasciando vuoto index 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). Il contenuto della matrice viene quindi visualizzato.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

Commenti

Questo metodo usa Array.Copy per copiare gli elementi.This method uses Array.Copy to copy the elements.

Gli elementi vengono copiati nella Array nello stesso ordine in cui l'enumeratore scorre l'List<T>.The elements are copied to the Array in the same order in which the enumerator iterates through the List<T>.

Questo metodo è un'operazione O (n), dove n è Count.This method is an O(n) operation, where n is Count.

Si applica a