List<T>.CopyTo 方法

定義

List<T> 或其中一部分複製到陣列。

多載

CopyTo(T[], Int32)

從目標陣列的指定索引處開始,將整個 List<T> 複製到相容的一維陣列中。

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

從目標陣列的指定索引處開始,將項目範圍從 List<T> 複製到相容的一維陣列。

CopyTo(T[])

從目標陣列的開頭開始,將整個 List<T> 複製到相容的一維陣列。

範例

下列範例示範 方法的所有三個 CopyTo 多載。 建立 List<T> 並填入 5 個字串的字串。 會建立 15 個元素的空字串陣列,並且 CopyTo(T[]) 使用 方法多載,將清單的所有元素複製到陣列的第一個元素開頭的陣列。 方法 CopyTo(T[], Int32) 多載是用來將清單的所有元素複製到陣列索引 6 開始的陣列, (將索引 5 保留空白) 。 最後, CopyTo(Int32, T[], Int32, Int32) 方法多載是用來從索引 2 開始,從清單複製 3 個專案到陣列索引 12 開始的陣列, (讓索引 11 保留空白) 。 然後會顯示陣列的內容。

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)

從目標陣列的指定索引處開始,將整個 List<T> 複製到相容的一維陣列中。

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)

參數

array
T[]

一維 Array,是從 List<T> 複製過來之項目的目的端。 Array 必須有以零為起始的索引。

arrayIndex
Int32

array 中以零起始的索引,即開始複製的位置。

實作

例外狀況

arraynull

arrayIndex 小於 0。

來源 List<T> 中的項目數目,大於 arrayIndex 到目的 array 結尾的可用空間。

備註

這個方法會使用 Array.Copy 來複製專案。

元素會 Array 依列舉值逐一查看 List<T> 的順序複製到 。

這個方法是 o (n) 作業,其中 nCount

適用於

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

從目標陣列的指定索引處開始,將項目範圍從 List<T> 複製到相容的一維陣列。

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)

參數

index
Int32

來源 List<T> 中以零為起始的索引,位於複製開始的位置。

array
T[]

一維 Array,是從 List<T> 複製過來之項目的目的端。 Array 必須有以零為起始的索引。

arrayIndex
Int32

array 中以零起始的索引,即開始複製的位置。

count
Int32

要複製的項目數目。

例外狀況

arraynull

index 小於 0。

-或- arrayIndex 小於 0。

-或- count 小於 0。

index 等於或大於來源 List<T>Count

-或- 從 index 到來源 List<T> 結尾的項目數目,大於從 arrayIndex 到目的 array 結尾的可用空間。

備註

這個方法會使用 Array.Copy 來複製專案。

元素會 Array 依列舉值逐一查看 List<T> 的順序複製到 。

這個方法是 o (n) 作業,其中 ncount

適用於

CopyTo(T[])

從目標陣列的開頭開始,將整個 List<T> 複製到相容的一維陣列。

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

參數

array
T[]

一維 Array,是從 List<T> 複製過來之項目的目的端。 Array 必須有以零為起始的索引。

例外狀況

arraynull

來源 List<T> 中的項目數大於目的 array 可包含的項目數。

備註

這個方法會使用 Array.Copy 來複製專案。

元素會 Array 依列舉值逐一查看 List<T> 的順序複製到 。

這個方法是 o (n) 作業,其中 nCount

適用於