본문 바로가기
C++ 200제/코딩 IT 정보

C# List GetRange 부분 복사, 원하는 영역만 Copy (리스트 to array)

by vicddory 2018. 9. 7.

C# List GetRange 부분 복사, 원하는 영역만 Copy (리스트 to array)


List 복사를 할 때 전체가 아닌, 일부만 복사하는 방법입니다. (C# List 부분 복사) 저는 이전에 Array.Copy를 이용했습니다. 그래서 원본 List, 타겟 List, 시작 위치, 종료 위치까지 인자를 넘겨줘야 했습니다. 거기다가 별도의 변수도 선언해야 하고 이래저래 손 가는 부분이 좀 있었어요.


하지만, GetRange 함수를 이용하면 간단히 원하는 영역만 List를 복사할 수 있습니다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
List<string> king = new List<string>(
    new string[]
    {
        "고려 문종",
        "조선 문종",
        "신라 효종",
        "백제 법왕",
        "태봉 궁예"
    });
 
List<string> range = king.GetRange(12);
 
foreach (string who in range)
{
    Console.WriteLine(who);
}
cs


1~9번 라인은 문자열 List를 선언하는 흔한 예시입니다.


2~8번 라인은 초기화 리스트로 C++에서도 거의 똑같이 사용할 수 있는 코드죠. 초기화 리스트 왜 이제 나왔나 좀 아쉽기도 합니다. 아무튼, 그만큼 편해요.


11번 라인이 GetRange를 이용한 C# List 부분 복사입니다.


C# List 부분 복사, 원하는 영역만 Copy (GetRange)C# List GetRange 부분 복사, 원하는 영역만 Copy (리스트 to array)


결과 화면을 보면, 조선 문종과 신라 효종이 출력되었습니다.


king 리스트의 인덱스 1~2번이 문종과 효종입니다. 그래서 13~16번 라인을 실행하면 range 리스트의 두 요소가 출력되는 것이죠. 앞으로 List를 부분 복사할 때, GetRange를 이용하세요.


C# List GetRange 부분 복사, 원하는 영역만 Copy (리스트 to array)

댓글