Sdílet prostřednictvím


List<T>.CopyTo Metoda

Definice

Zkopíruje jeho List<T> část nebo jeho část do pole.

Přetížení

CopyTo(T[], Int32)

Zkopíruje celek List<T> do kompatibilního jednorozměrného pole, počínaje zadaným indexem cílového pole.

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

Zkopíruje rozsah prvků z pole List<T> do kompatibilního jednorozměrného pole, počínaje zadaným indexem cílového pole.

CopyTo(T[])

Zkopíruje celek List<T> do kompatibilního jednorozměrného pole počínaje začátkem cílového pole.

Příklady

Následující příklad ukazuje všechna tři přetížení CopyTo metody. Řetězec List<T> řetězce se vytvoří a naplní 5 řetězci. Vytvoří se prázdné pole řetězců s 15 prvky a CopyTo(T[]) přetížení metody se používá ke zkopírování všech prvků seznamu do pole počínaje prvním prvkem pole. Přetížení CopyTo(T[], Int32) metody se používá ke zkopírování všech prvků seznamu do pole počínaje indexem matice 6 (index 5 zůstane prázdný). CopyTo(Int32, T[], Int32, Int32) Nakonec se přetížení metody používá ke zkopírování 3 elementů ze seznamu, počínaje indexem 2, do pole začínajícího indexem matice 12 (index 11 zůstane prázdný). Potom se zobrazí obsah pole.

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)

Zdroj:
List.cs
Zdroj:
List.cs
Zdroj:
List.cs

Zkopíruje celek List<T> do kompatibilního jednorozměrného pole, počínaje zadaným indexem cílového pole.

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)

Parametry

array
T[]

Jednorozměrný Array , který je cílem elementů zkopírovaných z List<T>. Musí Array mít indexování založené na nule.

arrayIndex
Int32

Index založený na nule v poli array, ve kterém kopírování začíná.

Implementuje

Výjimky

array je null.

arrayIndex je menší než 0.

Počet prvků ve zdroji List<T> je větší než dostupné místo od arrayIndex konce cíle array.

Poznámky

Tato metoda používá Array.Copy ke kopírování elementů.

Prvky se zkopírují do objektu Array ve stejném pořadí, ve kterém iterátor výčtu prochází .List<T>

Tato metoda je operace O(n), kde n je Count.

Platí pro

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

Zdroj:
List.cs
Zdroj:
List.cs
Zdroj:
List.cs

Zkopíruje rozsah prvků z pole List<T> do kompatibilního jednorozměrného pole, počínaje zadaným indexem cílového pole.

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)

Parametry

index
Int32

Index založený na nule ve zdroji List<T> , od kterého začíná kopírování.

array
T[]

Jednorozměrný Array , který je cílem elementů zkopírovaných z List<T>. Musí Array mít indexování založené na nule.

arrayIndex
Int32

Index založený na nule v poli array, ve kterém kopírování začíná.

count
Int32

Počet prvků, které se mají zkopírovat.

Výjimky

array je null.

index je menší než 0.

-nebo-

arrayIndex je menší než 0.

-nebo-

count je menší než 0.

index je roven nebo větší než Count zdroj List<T>.

-nebo-

Počet prvků od index konce zdroje List<T> je větší než dostupné místo od arrayIndex do konce cíle array.

Poznámky

Tato metoda používá Array.Copy ke kopírování elementů.

Prvky se zkopírují do objektu Array ve stejném pořadí, ve kterém iterátor výčtu prochází .List<T>

Tato metoda je operace O(n), kde n je count.

Platí pro

CopyTo(T[])

Zdroj:
List.cs
Zdroj:
List.cs
Zdroj:
List.cs

Zkopíruje celek List<T> do kompatibilního jednorozměrného pole počínaje začátkem cílového pole.

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

Parametry

array
T[]

Jednorozměrný Array , který je cílem elementů zkopírovaných z List<T>. Musí Array mít indexování založené na nule.

Výjimky

array je null.

Počet prvků ve zdroji List<T> je větší než počet prvků, které může cíl array obsahovat.

Poznámky

Tato metoda používá Array.Copy ke kopírování elementů.

Prvky se zkopírují do objektu Array ve stejném pořadí, ve kterém iterátor výčtu prochází .List<T>

Tato metoda je operace O(n), kde n je Count.

Platí pro