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(1, 2); foreach (string who in range) { Console.WriteLine(who); } | cs |
1~9번 라인은 문자열 List를 선언하는 흔한 예시입니다.
2~8번 라인은 초기화 리스트로 C++에서도 거의 똑같이 사용할 수 있는 코드죠. 초기화 리스트 왜 이제 나왔나 좀 아쉽기도 합니다. 아무튼, 그만큼 편해요.
11번 라인이 GetRange를 이용한 C# List 부분 복사입니다.
C# List GetRange 부분 복사, 원하는 영역만 Copy (리스트 to array)
결과 화면을 보면, 조선 문종과 신라 효종이 출력되었습니다.
king 리스트의 인덱스 1~2번이 문종과 효종입니다. 그래서 13~16번 라인을 실행하면 range 리스트의 두 요소가 출력되는 것이죠. 앞으로 List를 부분 복사할 때, GetRange를 이용하세요.
C# List GetRange 부분 복사, 원하는 영역만 Copy (리스트 to array)
댓글