List<T>.CopyTo 메서드

정의

배열 또는 List<T> 그 일부를 배열에 복사합니다.

오버로드

Name Description
CopyTo(T[], Int32)

대상 배열의 지정된 인덱스에서 시작하여 전체 List<T> 호환되는 1차원 배열에 복사합니다.

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

대상 배열의 지정된 인덱스에서 시작하여 호환되는 1차원 배열로 요소 List<T> 범위를 복사합니다.

CopyTo(T[])

대상 배열의 시작 부분에서 시작하여 호환되는 1차원 배열에 전체를 List<T> 복사합니다.

예제

다음 예제에서는 메서드의 세 오버로드를 CopyTo 모두 보여 줍니다. 문자열 중 하나는 List<T> 5개의 문자열로 만들어지고 채워집니다. 15개 요소의 빈 문자열 배열이 만들어지고 CopyTo(T[]) , 메서드 오버로드를 사용하여 목록의 모든 요소를 배열의 첫 번째 요소에서 시작하는 배열로 복사합니다. CopyTo(T[], Int32) 메서드 오버로드는 목록의 모든 요소를 배열 인덱스 6에서 시작하는 배열에 복사하는 데 사용됩니다(인덱스 5를 비워 두기). 마지막으로, CopyTo(Int32, T[], Int32, Int32) 메서드 오버로드는 인덱스 2부터 시작하여 목록에서 배열 인덱스 12부터 시작하는 배열로 3개의 요소를 복사하는 데 사용됩니다(인덱스 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)

대상 배열의 지정된 인덱스에서 시작하여 전체 List<T> 호환되는 1차원 배열에 복사합니다.

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된 요소의 대상인 1차원 List<T> 입니다. Array 0부터 시작하는 인덱싱이 있어야 합니다.

arrayIndex
Int32

복사가 시작되는 인덱 array 스(0부터 시작)입니다.

구현

예외

arraynull입니다.

arrayIndex 가 0보다 작습니다.

원본 List<T> 의 요소 수가 대상arrayIndex의 끝까지 사용 가능한 공간 array 보다 큽합니다.

설명

이 메서드는 요소를 복사하는 데 사용합니다 Array.Copy .

요소는 열거자가 반복하는 순서와 동일한 순서로 복사 Array 됩니다 List<T>.

이 메서드는 O(n) 연산이며 여기서 n은 . 입니다 Count.

적용 대상

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

대상 배열의 지정된 인덱스에서 시작하여 호환되는 1차원 배열로 요소 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> 의 인덱스(0부터 시작)입니다.

array
T[]

복사Array된 요소의 대상인 1차원 List<T> 입니다. Array 0부터 시작하는 인덱싱이 있어야 합니다.

arrayIndex
Int32

복사가 시작되는 인덱 array 스(0부터 시작)입니다.

count
Int32

복사할 요소의 수입니다.

예외

arraynull입니다.

index 가 0보다 작습니다.

-또는-

arrayIndex 가 0보다 작습니다.

-또는-

count 가 0보다 작습니다.

index가 원본List<T>의 값보다 Count 크거나 같은 경우

-또는-

원본 List<T> 의 끝에서 끝까지의 요소 index 수가 대상array의 끝부분에서 arrayIndex 사용 가능한 공간보다 큽다.

설명

이 메서드는 요소를 복사하는 데 사용합니다 Array.Copy .

요소는 열거자가 반복하는 순서와 동일한 순서로 복사 Array 됩니다 List<T>.

이 메서드는 O(n) 연산이며 여기서 n은 . 입니다 count.

적용 대상

CopyTo(T[])

대상 배열의 시작 부분에서 시작하여 호환되는 1차원 배열에 전체를 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된 요소의 대상인 1차원 List<T> 입니다. Array 0부터 시작하는 인덱싱이 있어야 합니다.

예외

arraynull입니다.

원본 List<T> 의 요소 수가 대상 array 에 포함될 수 있는 요소 수보다 큽습니다.

설명

이 메서드는 요소를 복사하는 데 사용합니다 Array.Copy .

요소는 열거자가 반복하는 순서와 동일한 순서로 복사 Array 됩니다 List<T>.

이 메서드는 O(n) 연산이며 여기서 n은 . 입니다 Count.

적용 대상