List<T>.CopyTo List<T>.CopyTo List<T>.CopyTo List<T>.CopyTo Method

定義

List<T> 或其中一部分複製到陣列。Copies the List<T> or a portion of it to an array.

多載

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

從目標陣列的指定索引處開始,將整個 List<T> 複製到相容的一維陣列中。Copies the entire List<T> to a compatible one-dimensional array, starting at the specified index of the target array.

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

從目標陣列的指定索引處開始,將項目範圍從 List<T> 複製到相容的一維陣列。Copies a range of elements from the List<T> to a compatible one-dimensional array, starting at the specified index of the target array.

CopyTo(T[]) CopyTo(T[]) CopyTo(T[]) CopyTo(T[])

將整個 List<T> 複製到相容的一維陣列,從目標陣列的開頭開始。Copies the entire List<T> to a compatible one-dimensional array, starting at the beginning of the target array.

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

從目標陣列的指定索引處開始,將整個 List<T> 複製到相容的一維陣列中。Copies the entire List<T> to a compatible one-dimensional array, starting at the specified index of the target array.

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> 複製過來之項目的目的端。The one-dimensional Array that is the destination of the elements copied from List<T>. Array 必須有以零為起始的索引。The Array must have zero-based indexing.

arrayIndex
Int32 Int32 Int32 Int32

array 中以零起始的索引,即開始複製的位置。The zero-based index in array at which copying begins.

實作

例外狀況

來源 List<T> 中的項目數目,大於 arrayIndex 到目的 array 結尾的可用空間。The number of elements in the source List<T> is greater than the available space from arrayIndex to the end of the destination array.

範例

下列範例示範的所有三個多載CopyTo方法。The following example demonstrates all three overloads of the CopyTo method. AList<T>的字串會建立並填入具有 5 個字串。A List<T> of strings is created and populated with 5 strings. 建立空的字串陣列的 15 個元素,而CopyTo(T[])方法多載用來將清單中的所有元素都複製到陣列的第一個項目開頭的陣列。An empty string array of 15 elements is created, and the CopyTo(T[]) method overload is used to copy all the elements of the list to the array beginning at the first element of the array. CopyTo(T[], Int32)方法多載用來複製所有的項目至的陣列索引 6 開始的陣列清單 (離開索引 5 空白)。The CopyTo(T[], Int32) method overload is used to copy all the elements of the list to the array beginning at array index 6 (leaving index 5 empty). 最後,CopyTo(Int32, T[], Int32, Int32)方法多載用來複製 3 個元素,從清單中,從索引 2 開始,到開始於陣列的陣列編製索引 12 (離開索引 11 空白)。Finally, the CopyTo(Int32, T[], Int32, Int32) method overload is used to copy 3 elements from the list, beginning with index 2, to the array beginning at array index 12 (leaving index 11 empty). 陣列的內容隨即顯示。The contents of the array are then displayed.

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

備註

這個方法會使用Array.Copy複製項目。This method uses Array.Copy to copy the elements.

將元素複製到Array所在的列舉值逐一查看的順序相同List<T>The elements are copied to the Array in the same order in which the enumerator iterates through the List<T>.

這個方法是 O (n) 運算,其中nCountThis method is an O(n) operation, where n is Count.

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

從目標陣列的指定索引處開始,將項目範圍從 List<T> 複製到相容的一維陣列。Copies a range of elements from the List<T> to a compatible one-dimensional array, starting at the specified index of the target array.

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 Int32 Int32 Int32

來源 List<T> 中以零為起始的索引,位於複製開始的位置。The zero-based index in the source List<T> at which copying begins.

array
T[]

一維 Array,是從 List<T> 複製過來之項目的目的端。The one-dimensional Array that is the destination of the elements copied from List<T>. Array 必須有以零為起始的索引。The Array must have zero-based indexing.

arrayIndex
Int32 Int32 Int32 Int32

array 中以零起始的索引,即開始複製的位置。The zero-based index in array at which copying begins.

count
Int32 Int32 Int32 Int32

要複製的項目數目。The number of elements to copy.

例外狀況

index 小於 0。index is less than 0.

-或--or- arrayIndex 小於 0。arrayIndex is less than 0.

-或--or- count 小於 0。count is less than 0.

index 等於或大於來源 List<T>Countindex is equal to or greater than the Count of the source List<T>.

-或--or- index 到來源 List<T> 結尾的項目數目,大於從 arrayIndex 到目的 array 結尾的可用空間。The number of elements from index to the end of the source List<T> is greater than the available space from arrayIndex to the end of the destination array.

範例

下列範例示範的所有三個多載CopyTo方法。The following example demonstrates all three overloads of the CopyTo method. AList<T>的字串會建立並填入具有 5 個字串。A List<T> of strings is created and populated with 5 strings. 建立空的字串陣列的 15 個元素,而CopyTo(T[])方法多載用來將清單中的所有元素都複製到陣列的第一個項目開頭的陣列。An empty string array of 15 elements is created, and the CopyTo(T[]) method overload is used to copy all the elements of the list to the array beginning at the first element of the array. CopyTo(T[], Int32)方法多載用來複製所有的項目至的陣列索引 6 開始的陣列清單 (離開索引 5 空白)。The CopyTo(T[], Int32) method overload is used to copy all the elements of the list to the array beginning at array index 6 (leaving index 5 empty). 最後,CopyTo(Int32, T[], Int32, Int32)方法多載用來複製 3 個元素,從清單中,從索引 2 開始,到開始於陣列的陣列編製索引 12 (離開索引 11 空白)。Finally, the CopyTo(Int32, T[], Int32, Int32) method overload is used to copy 3 elements from the list, beginning with index 2, to the array beginning at array index 12 (leaving index 11 empty). 陣列的內容隨即顯示。The contents of the array are then displayed.

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

備註

這個方法會使用Array.Copy複製項目。This method uses Array.Copy to copy the elements.

將元素複製到Array所在的列舉值逐一查看的順序相同List<T>The elements are copied to the Array in the same order in which the enumerator iterates through the List<T>.

這個方法是 O (n) 運算,其中ncountThis method is an O(n) operation, where n is count.

CopyTo(T[]) CopyTo(T[]) CopyTo(T[]) CopyTo(T[])

將整個 List<T> 複製到相容的一維陣列,從目標陣列的開頭開始。Copies the entire List<T> to a compatible one-dimensional array, starting at the beginning of the target array.

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> 複製過來之項目的目的端。The one-dimensional Array that is the destination of the elements copied from List<T>. Array 必須有以零為起始的索引。The Array must have zero-based indexing.

例外狀況

來源 List<T> 中的項目數大於目的 array 可包含的項目數。The number of elements in the source List<T> is greater than the number of elements that the destination array can contain.

範例

下列範例示範的所有三個多載CopyTo方法。The following example demonstrates all three overloads of the CopyTo method. AList<T>的字串會建立並填入具有 5 個字串。A List<T> of strings is created and populated with 5 strings. 建立空的字串陣列的 15 個元素,而CopyTo(T[])方法多載用來將清單中的所有元素都複製到陣列的第一個項目開頭的陣列。An empty string array of 15 elements is created, and the CopyTo(T[]) method overload is used to copy all the elements of the list to the array beginning at the first element of the array. CopyTo(T[], Int32)方法多載用來複製所有的項目至的陣列索引 6 開始的陣列清單 (離開索引 5 空白)。The CopyTo(T[], Int32) method overload is used to copy all the elements of the list to the array beginning at array index 6 (leaving index 5 empty). 最後,CopyTo(Int32, T[], Int32, Int32)方法多載用來複製 3 個元素,從清單中,從索引 2 開始,到開始於陣列的陣列編製索引 12 (離開索引 11 空白)。Finally, the CopyTo(Int32, T[], Int32, Int32) method overload is used to copy 3 elements from the list, beginning with index 2, to the array beginning at array index 12 (leaving index 11 empty). 陣列的內容隨即顯示。The contents of the array are then displayed.

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

備註

這個方法會使用Array.Copy複製項目。This method uses Array.Copy to copy the elements.

將元素複製到Array所在的列舉值逐一查看的順序相同List<T>The elements are copied to the Array in the same order in which the enumerator iterates through the List<T>.

這個方法是 O (n) 運算,其中nCountThis method is an O(n) operation, where n is Count.

適用於