Aracılığıyla paylaş


List<T>.CopyTo Yöntem

Tanım

List<T> öğesini veya bir bölümünü bir diziye kopyalar.

Aşırı Yüklemeler

CopyTo(T[], Int32)

Hedef dizinin belirtilen dizininden başlayarak tamamını List<T> uyumlu bir tek boyutlu diziye kopyalar.

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

Hedef dizinin belirtilen dizininden List<T> başlayarak bir öğe aralığını uyumlu bir tek boyutlu diziye kopyalar.

CopyTo(T[])

Hedef dizinin başlangıcından başlayarak tamamını List<T> uyumlu bir tek boyutlu diziye kopyalar.

Örnekler

Aşağıdaki örnek, yönteminin üç aşırı yüklemesini CopyTo de gösterir. Dizelerden List<T> biri oluşturulur ve 5 dizeyle doldurulur. 15 öğeden oluşan boş bir dize dizisi oluşturulur ve listenin CopyTo(T[]) tüm öğelerini dizinin ilk öğesinden başlayarak diziye kopyalamak için yöntem aşırı yüklemesi kullanılır. Yöntem CopyTo(T[], Int32) aşırı yüklemesi, dizinin 6 dizininden başlayarak listenin tüm öğelerini diziye kopyalamak için kullanılır (dizin 5 boş bırakılır). Son olarak yöntem aşırı yüklemesi, CopyTo(Int32, T[], Int32, Int32) dizin 2'den başlayarak listedeki 3 öğeyi dizi dizini 12'den (dizin 11'i boş bırakarak) başlayan diziye kopyalamak için kullanılır. Dizinin içeriği daha sonra görüntülenir.

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)

Kaynak:
List.cs
Kaynak:
List.cs
Kaynak:
List.cs

Hedef dizinin belirtilen dizininden başlayarak tamamını List<T> uyumlu bir tek boyutlu diziye kopyalar.

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)

Parametreler

array
T[]

öğesinden List<T>kopyalanan öğelerin hedefi olan tek boyutludurArray. sıfır Array tabanlı dizine sahip olmalıdır.

arrayIndex
Int32

array içinde kopyalamanın başladığı sıfır tabanlı dizin.

Uygulamalar

Özel durumlar

array, null değeridir.

arrayIndex 0'dan küçüktür.

Kaynaktaki List<T> öğelerin sayısı, hedef arrayöğesinin sonuna kadar olan kullanılabilir alandan arrayIndex büyüktür.

Açıklamalar

Bu yöntem, öğeleri kopyalamak için kullanır Array.Copy .

Öğeler, numaralandırıcının aracılığıyla List<T>yinelendiği sırayla öğesine kopyalanırArray.

Bu yöntem bir O(n) işlemidir; burada n olur Count.

Şunlara uygulanır

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

Kaynak:
List.cs
Kaynak:
List.cs
Kaynak:
List.cs

Hedef dizinin belirtilen dizininden List<T> başlayarak bir öğe aralığını uyumlu bir tek boyutlu diziye kopyalar.

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)

Parametreler

index
Int32

Kopyalamanın başladığı kaynaktaki List<T> sıfır tabanlı dizin.

array
T[]

öğesinden List<T>kopyalanan öğelerin hedefi olan tek boyutludurArray. sıfır Array tabanlı dizine sahip olmalıdır.

arrayIndex
Int32

array içinde kopyalamanın başladığı sıfır tabanlı dizin.

count
Int32

Kopyalanacak öğe sayısı.

Özel durumlar

array, null değeridir.

index 0'dan küçüktür.

-veya-

arrayIndex 0'dan küçüktür.

-veya-

count 0'dan küçüktür.

index , kaynağın CountList<T>değerine eşit veya ondan büyüktür.

-veya-

Kaynağın indexList<T> sonundan sonuna kadar olan öğelerin sayısı, hedefin arraysonuna kadar olan kullanılabilir alandan arrayIndex daha fazladır.

Açıklamalar

Bu yöntem, öğeleri kopyalamak için kullanır Array.Copy .

Öğeler, numaralandırıcının aracılığıyla List<T>yinelendiği sırayla öğesine kopyalanırArray.

Bu yöntem bir O(n) işlemidir; burada n olur count.

Şunlara uygulanır

CopyTo(T[])

Kaynak:
List.cs
Kaynak:
List.cs
Kaynak:
List.cs

Hedef dizinin başlangıcından başlayarak tamamını List<T> uyumlu bir tek boyutlu diziye kopyalar.

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

Parametreler

array
T[]

öğesinden List<T>kopyalanan öğelerin hedefi olan tek boyutludurArray. sıfır Array tabanlı dizine sahip olmalıdır.

Özel durumlar

array, null değeridir.

Kaynaktaki List<T> öğelerin sayısı, hedefin array içerebileceği öğe sayısından fazladır.

Açıklamalar

Bu yöntem, öğeleri kopyalamak için kullanır Array.Copy .

Öğeler, numaralandırıcının aracılığıyla List<T>yinelendiği sırayla öğesine kopyalanırArray.

Bu yöntem bir O(n) işlemidir; burada n olur Count.

Şunlara uygulanır