Bagikan melalui


List<T>.CopyTo Metode

Definisi

List<T> Menyalin atau sebagiannya ke array.

Overload

CopyTo(T[], Int32)

Menyalin seluruh List<T> ke array satu dimensi yang kompatibel, dimulai dari indeks array target yang ditentukan.

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

Menyalin rentang elemen dari List<T> ke array satu dimensi yang kompatibel, dimulai pada indeks array target yang ditentukan.

CopyTo(T[])

Menyalin seluruh List<T> ke array satu dimensi yang kompatibel, dimulai dari awal array target.

Contoh

Contoh berikut menunjukkan ketiga kelebihan beban CopyTo metode. List<T> String dibuat dan diisi dengan 5 string. Array string kosong 15 elemen dibuat, dan CopyTo(T[]) metode kelebihan beban digunakan untuk menyalin semua elemen daftar ke array yang dimulai pada elemen pertama array. Metode CopyTo(T[], Int32) kelebihan beban digunakan untuk menyalin semua elemen daftar ke array yang dimulai pada indeks array 6 (membiarkan indeks 5 kosong). Akhirnya, CopyTo(Int32, T[], Int32, Int32) metode kelebihan beban digunakan untuk menyalin 3 elemen dari daftar, dimulai dengan indeks 2, ke array yang dimulai pada indeks array 12 (membiarkan indeks 11 kosong). Konten array kemudian ditampilkan.

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)

Sumber:
List.cs
Sumber:
List.cs
Sumber:
List.cs

Menyalin seluruh List<T> ke array satu dimensi yang kompatibel, dimulai dari indeks array target yang ditentukan.

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[]

Satu dimensi Array yang merupakan tujuan elemen yang disalin dari List<T>. Array harus memiliki pengindeksan berbasis nol.

arrayIndex
Int32

Indeks berbasis nol tempat array penyalinan dimulai.

Penerapan

Pengecualian

arrayadalah null.

arrayIndex kurang dari 0.

Jumlah elemen dalam sumber List<T> lebih besar dari ruang yang tersedia dari arrayIndex ke akhir tujuan array.

Keterangan

Metode ini menggunakan Array.Copy untuk menyalin elemen.

Elemen disalin ke Array dalam urutan yang sama di mana enumerator melakukan iterasi melalui List<T>.

Metode ini adalah operasi O(n), di mana n adalah Count.

Berlaku untuk

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

Sumber:
List.cs
Sumber:
List.cs
Sumber:
List.cs

Menyalin rentang elemen dari List<T> ke array satu dimensi yang kompatibel, dimulai pada indeks array target yang ditentukan.

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

Indeks berbasis nol di sumber List<T> tempat penyalinan dimulai.

array
T[]

Satu dimensi Array yang merupakan tujuan elemen yang disalin dari List<T>. Array harus memiliki pengindeksan berbasis nol.

arrayIndex
Int32

Indeks berbasis nol tempat array penyalinan dimulai.

count
Int32

Jumlah elemen yang akan disalin.

Pengecualian

arrayadalah null.

index kurang dari 0.

-atau-

arrayIndex kurang dari 0.

-atau-

count kurang dari 0.

index sama dengan atau lebih besar dari Count sumber List<T>.

-atau-

Jumlah elemen dari index hingga akhir sumber List<T> lebih besar dari ruang yang tersedia dari arrayIndex ke akhir tujuan array.

Keterangan

Metode ini menggunakan Array.Copy untuk menyalin elemen.

Elemen disalin ke Array dalam urutan yang sama di mana enumerator melakukan iterasi melalui List<T>.

Metode ini adalah operasi O(n), di mana n adalah count.

Berlaku untuk

CopyTo(T[])

Sumber:
List.cs
Sumber:
List.cs
Sumber:
List.cs

Menyalin seluruh List<T> ke array satu dimensi yang kompatibel, dimulai dari awal array target.

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[]

Satu dimensi Array yang merupakan tujuan elemen yang disalin dari List<T>. Array harus memiliki pengindeksan berbasis nol.

Pengecualian

arrayadalah null.

Jumlah elemen dalam sumber List<T> lebih besar dari jumlah elemen yang dapat dimuat tujuan array .

Keterangan

Metode ini menggunakan Array.Copy untuk menyalin elemen.

Elemen disalin ke Array dalam urutan yang sama di mana enumerator melakukan iterasi melalui List<T>.

Metode ini adalah operasi O(n), di mana n adalah Count.

Berlaku untuk