List<T>.CopyTo 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
將 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) 方法多載是用來從清單複製 3 個元素,從索引 2 開始複製到陣列索引 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.cs
- 來源:
- List.cs
- 來源:
- List.cs
從目標陣列的指定索引處開始,將整個 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)
參數
- arrayIndex
- Int32
array
中以零起始的索引,即開始複製的位置。
實作
例外狀況
array
為 null
。
arrayIndex
小於 0。
來源 List<T> 中的項目數目,大於 arrayIndex
到目的 array
結尾的可用空間。
備註
這個方法會使用 Array.Copy 來複製專案。
元素會以逐一查看 List<T>的相同順序複製到 Array 。
這個方法是 o (n) 作業,其中 n 是 Count。
適用於
CopyTo(Int32, T[], Int32, Int32)
- 來源:
- List.cs
- 來源:
- List.cs
- 來源:
- List.cs
從目標陣列的指定索引處開始,將項目範圍從 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)
參數
- arrayIndex
- Int32
array
中以零起始的索引,即開始複製的位置。
- count
- Int32
要複製的項目數目。
例外狀況
array
為 null
。
備註
這個方法會使用 Array.Copy 來複製專案。
元素會以逐一查看 List<T>的相同順序複製到 Array 。
這個方法是 o (n) 作業,其中 n 是 count
。
適用於
CopyTo(T[])
- 來源:
- List.cs
- 來源:
- List.cs
- 來源:
- List.cs
從目標陣列的開頭開始,將整個 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
為 null
。
來源 List<T> 中的項目數大於目的 array
可包含的項目數。
備註
這個方法會使用 Array.Copy 來複製專案。
元素會以逐一查看 List<T>的相同順序複製到 Array 。
這個方法是 o (n) 作業,其中 n 是 Count。