List<T>.CopyTo 方法

定义

List<T> 它的一部分复制到数组。

重载

名称 说明
CopyTo(T[], Int32)

将整个 List<T> 复制到兼容的一维数组,从目标数组的指定索引处开始。

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

List<T> 目标数组的指定索引处开始,从兼容的一维数组复制一系列元素。

CopyTo(T[])

将整个复制到 List<T> 兼容的一维数组,从目标数组的开头开始。

示例

以下示例演示了该方法的所有三个 CopyTo 重载。 创建并填充了 5 个 List<T> 字符串的字符串。 创建了一个包含 15 个元素的空字符串数组,该方法 CopyTo(T[]) 重载用于将列表的所有元素复制到从数组的第一个元素开始的数组。 方法 CopyTo(T[], Int32) 重载用于将列表的所有元素复制到从数组索引 6 开始的数组(使索引 5 为空)。 最后, CopyTo(Int32, T[], Int32, Int32) 方法重载用于从索引 2 开始的列表中复制 3 个元素,从数组索引 12 开始的数组(使索引 11 为空)。 然后显示数组的内容。

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

参数

array
T[]

一维 Array 是从中 List<T>复制的元素的目标。 必须 Array 具有从零开始的索引。

arrayIndex
Int32

从零开始复制的索引 array

实现

例外

arraynull

arrayIndex 小于 0。

List<T>中的元素数大于目标arrayIndexarray末尾的可用空间。

注解

此方法用于 Array.Copy 复制元素。

元素将按 Array 枚举器循环访问的相同顺序复制到该 List<T>元素。

此方法是 O(n) 操作,其中 nCount

适用于

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

Source:
List.cs
Source:
List.cs
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)

参数

index
Int32

从零开始复制的源 List<T> 中的索引。

array
T[]

一维 Array 是从中 List<T>复制的元素的目标。 必须 Array 具有从零开始的索引。

arrayIndex
Int32

从零开始复制的索引 array

count
Int32

要复制的元素数。

例外

arraynull

index 小于 0。

-或-

arrayIndex 小于 0。

-或-

count 小于 0。

index 等于或大于 CountList<T>

-或-

index末尾List<T>的元素数大于目标arrayIndex末尾的可用空间array

注解

此方法用于 Array.Copy 复制元素。

元素将按 Array 枚举器循环访问的相同顺序复制到该 List<T>元素。

此方法是 O(n) 操作,其中 ncount

适用于

CopyTo(T[])

Source:
List.cs
Source:
List.cs
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
T[]

一维 Array 是从中 List<T>复制的元素的目标。 必须 Array 具有从零开始的索引。

例外

arraynull

List<T> 中的元素数大于目标 array 可以包含的元素数。

注解

此方法用于 Array.Copy 复制元素。

元素将按 Array 枚举器循环访问的相同顺序复制到该 List<T>元素。

此方法是 O(n) 操作,其中 nCount

适用于