Freigeben über


List<T>.CopyTo Methode

Definition

Kopiert List<T> oder einen Teil davon in ein Array.

Überlädt

CopyTo(T[], Int32)

Kopiert die gesamte List<T> in ein kompatibles eindimensionales Array, beginnend am angegebenen Index des Zielarrays.

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

Kopiert einen Bereich von Elementen aus der List<T> in ein kompatibles eindimensionales Array, beginnend ab dem angegebenen Index im Zielarray.

CopyTo(T[])

Kopiert die gesamte List<T> in ein kompatibles eindimensionales Array, wobei am Anfang des Zielarrays begonnen wird.

Beispiele

Im folgenden Beispiel werden alle drei Überladungen der CopyTo -Methode veranschaulicht. Eine List<T> von Zeichenfolgen wird erstellt und mit 5 Zeichenfolgen aufgefüllt. Ein leeres Zeichenfolgenarray mit 15 Elementen wird erstellt, und die CopyTo(T[]) Methodenüberladung wird verwendet, um alle Elemente der Liste ab dem ersten Element des Arrays in das Array zu kopieren. Die CopyTo(T[], Int32) Methodenüberladung wird verwendet, um alle Elemente der Liste ab Arrayindex 6 in das Array zu kopieren (Index 5 leer bleibt). Schließlich wird die CopyTo(Int32, T[], Int32, Int32) Methodenüberladung verwendet, um 3 Elemente aus der Liste zu kopieren, beginnend mit Index 2, in das Array, beginnend bei Arrayindex 12 (Index 11 leer bleibt). Der Inhalt des Arrays wird dann angezeigt.

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)

Quelle:
List.cs
Quelle:
List.cs
Quelle:
List.cs

Kopiert die gesamte List<T> in ein kompatibles eindimensionales Array, beginnend am angegebenen Index des Zielarrays.

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)

Parameter

array
T[]

Das eindimensionale Array, das das Ziel der aus der List<T> kopierten Elemente ist. Für das Array muss eine nullbasierte Indizierung verwendet werden.

arrayIndex
Int32

Der nullbasierte Index im array, bei dem der Kopiervorgang beginnt.

Implementiert

Ausnahmen

array ist null.

arrayIndex ist kleiner als 0.

Die Anzahl der Elemente in der Quell-List<T> ist größer als der verfügbare Platz vom arrayIndex bis zum Ende des Ziel-arrays.

Hinweise

Diese Methode verwendet Array.Copy , um die Elemente zu kopieren.

Die Elemente werden in derselben Reihenfolge in die kopiert Array , in der der Enumerator das List<T>durchläuft.

Bei dieser Methode handelt es sich um einen O(n)-Vorgang, wobei n für steht Count.

Gilt für:

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

Quelle:
List.cs
Quelle:
List.cs
Quelle:
List.cs

Kopiert einen Bereich von Elementen aus der List<T> in ein kompatibles eindimensionales Array, beginnend ab dem angegebenen Index im Zielarray.

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)

Parameter

index
Int32

Der nullbasierte Index in der Quell-List<T>, ab dem mit dem Kopieren begonnen wird.

array
T[]

Das eindimensionale Array, das das Ziel der aus der List<T> kopierten Elemente ist. Für das Array muss eine nullbasierte Indizierung verwendet werden.

arrayIndex
Int32

Der nullbasierte Index im array, bei dem der Kopiervorgang beginnt.

count
Int32

Die Anzahl der zu kopierenden Elemente.

Ausnahmen

array ist null.

index ist kleiner als 0.

- oder -

arrayIndex ist kleiner als 0.

- oder -

count ist kleiner als 0.

index ist gleich oder größer als die Count der Quell-List<T>.

- oder -

Die Anzahl der Elemente vom index bis zum Ende der Quell-List<T> ist größer als der verfügbare Platz vom arrayIndex bis zum Ende des Ziel-arrays.

Hinweise

Diese Methode verwendet Array.Copy , um die Elemente zu kopieren.

Die Elemente werden in derselben Reihenfolge in die kopiert Array , in der der Enumerator das List<T>durchläuft.

Bei dieser Methode handelt es sich um einen O(n)-Vorgang, wobei n für steht count.

Gilt für:

CopyTo(T[])

Quelle:
List.cs
Quelle:
List.cs
Quelle:
List.cs

Kopiert die gesamte List<T> in ein kompatibles eindimensionales Array, wobei am Anfang des Zielarrays begonnen wird.

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

Parameter

array
T[]

Das eindimensionale Array, das das Ziel der aus der List<T> kopierten Elemente ist. Für das Array muss eine nullbasierte Indizierung verwendet werden.

Ausnahmen

array ist null.

Die Anzahl der Elemente in der Quell-List<T> ist größer als die Anzahl von Elementen, die das Ziel-array enthalten kann.

Hinweise

Diese Methode verwendet Array.Copy , um die Elemente zu kopieren.

Die Elemente werden in derselben Reihenfolge in die kopiert Array , in der der Enumerator das List<T>durchläuft.

Bei dieser Methode handelt es sich um einen O(n)-Vorgang, wobei n für steht Count.

Gilt für: