Computer >> 컴퓨터 >  >> 프로그래밍 >> C#

C# List에서 GetRange() 메서드로 요소 범위 가져오는 방법

C#에서 GetRange() 메서드를 사용하면 리스트(List)에서 원하는 범위의 요소를 손쉽게 추출할 수 있습니다. 이 메서드는 지정한 시작 인덱스부터 일정 개수의 요소를 새로운 리스트로 반환합니다.

GetRange() 메서드의 기본 구조

GetRange() 메서드는 두 개의 매개변수를 받습니다.

  • index: 추출을 시작할 인덱스 (0부터 시작)
  • count: 추출할 요소의 개수

리스트 생성 및 요소 추가

먼저 정수형 리스트를 만들고 요소를 추가해 보겠습니다.

List<int> arr1 = new List<int>();
arr1.Add(10);
arr1.Add(20);
arr1.Add(30);
arr1.Add(40);
arr1.Add(50);

특정 범위의 요소 가져오기

이제 인덱스 1부터 3개의 요소(20, 30, 40)를 새로운 리스트로 가져와 보겠습니다.

List<int> myList = arr1.GetRange(1, 3);

여기서 첫 번째 매개변수 1은 시작 인덱스이고, 두 번째 매개변수 3은 가져올 요소의 개수입니다. 즉, 인덱스 1, 2, 3에 해당하는 요소들이 반환됩니다.

전체 예제 코드

using System;
using System.Collections.Generic;

public class Demo {
    public static void Main() {
        List<int> arr1 = new List<int>();
        arr1.Add(10);
        arr1.Add(20);
        arr1.Add(30);
        arr1.Add(40);
        arr1.Add(50);

        Console.WriteLine("초기 리스트 ...");
        foreach (int i in arr1) {
            Console.WriteLine(i);
        }

        Console.WriteLine("범위 내 요소 가져오기 ...");
        List<int> myList = arr1.GetRange(1, 3);

        foreach (int res in myList) {
            Console.WriteLine(res);
        }
    }
}

실행 결과

초기 리스트 ...
10
20
30
40
50
범위 내 요소 가져오기 ...
20
30
40

정리

GetRange() 메서드는 원본 리스트를 변경하지 않고 새로운 리스트를 반환하기 때문에, 부분 집합 데이터가 필요할 때 매우 유용합니다. 다만 인덱스가 리스트 범위를 벗어나면 ArgumentOutOfRangeException이 발생하므로, 시작 인덱스와 개수가 유효한지 항상 확인하는 것이 좋습니다.