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)
- Source:
- List.cs
- Source:
- List.cs
- Source:
- 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 复制元素。
元素将按照枚举器循环访问 的相同顺序复制到 Array 。List<T>
此方法是 O (n) 操作,其中 n 为 Count。
适用于
CopyTo(Int32, T[], Int32, Int32)
- Source:
- List.cs
- Source:
- List.cs
- Source:
- 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
。
- 或 -
从 index
到源 List<T> 的末尾的元素数大于从 arrayIndex
到目标 array
的末尾的可用空间。
注解
此方法使用 Array.Copy 复制元素。
元素将按照枚举器循环访问 的相同顺序复制到 Array 。List<T>
此方法是 O (n) 操作,其中 n 为 count
。
适用于
CopyTo(T[])
- Source:
- List.cs
- Source:
- List.cs
- Source:
- 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 复制元素。
元素将按照枚举器循环访问 的相同顺序复制到 Array 。List<T>
此方法是 O (n) 操作,其中 n 为 Count。