A-Dyu의 개발 일기장
[C#] List를 배열의 특정 부분에 전체 또는 일부 복사하기. 본문
List의 전체 또는 일부를 복사하고 싶을 때 CopyTo메서드를 사용하면 된다.
CopyTo의 오버로드는 3가지가 있는데,모든 오버로드를 살펴보겠다.
1.배열의 처음부터 끝까지 복사.
단순히 인자로 붙여넣기할 배열을 집어넣은면 된다.
그러면 리스트의 처음부터 끝까지 복사한다.
이때, 배열의 길이가 리스트의 크기보다 작으면 오류가 일어난다.
int[] array = new int[5];
List<int> list = new List<int>()
{
1,2,3,4
};
list.CopyTo(array); //1, 2, 3, 4, 0
2.배열의 중간부터 끝까지 복사.
1번의 오버로드에서 인자가 하나 더 생겼는데, 바로 붙여넣기를 시작할 인덱스다.
인자로 1을 넣으면 배열의 2번째부터 들어가는 방식이다.
int[] array = new int[5];
List<int> list = new List<int>()
{
1,2,3,4
};
list.CopyTo(array, 1);// 0, 1, 2, 3, 4
3.배열의 중간부터 리스트의 특정 부분을 복사.
1번째 인자는 복사를 시작할 리스트의 인덱스다.
예를 들어 리스트에 1,2,3이 들어있고 1을 인자로 넣으면 2부터 복사가 시작되는 방식이다.
2번째 인자는 붙여넣기할 배열이다.
3번쨰 인자는붙여넣기할 배열의 시작점이다.
예를 들어 2를 인자로 넣으면 배열의 2번째부터 붙여넣기한다.
4번째 인자는 붙여넣기할 개수다.
int[] array1 = new int[5];
List<int> list = new List<int>()
{
1,2,3,4
};
list.CopyTo(1, array3, 3, 2);//0, 0, 0, 2, 3
'C#' 카테고리의 다른 글
[C#] 리터럴 (0) | 2025.01.18 |
---|---|
[C#] Enum을 플래그로 사용하기 (0) | 2025.01.18 |
[C#] C#에서 지원하는 자료구조들 (0) | 2024.07.29 |
[C#] 값의 집합을 저장하는 HashSet(해시셋) 클래스 (0) | 2024.07.29 |