C#에서 리스트(List)의 앞부분에 있는 특정 개수의 요소만 추출하고 싶다면 LINQ의 Take() 메서드를 사용하면 됩니다. Take() 메서드는 인자로 전달한 개수만큼 시퀀스의 처음부터 요소를 반환합니다.
리스트 생성 및 요소 추가
먼저 문자열 리스트를 만들고 여러 개의 요소를 추가해 보겠습니다.
List<string> myList = new List<string>();
myList.Add("One");
myList.Add("Two");
myList.Add("Three");
myList.Add("Four");
myList.Add("Five");
myList.Add("Six");Take() 메서드로 원하는 개수만큼 가져오기
이제 Take() 메서드를 호출하고, 가져오고 싶은 요소의 개수를 인자로 전달합니다. 예를 들어 처음 세 개의 요소를 얻으려면 다음과 같이 작성합니다.
myList.Take(3)
전체 예제 코드
아래는 위 내용을 모두 포함한 완성된 예제입니다.
using System;
using System.Linq;
using System.Collections.Generic;
public class Demo {
public static void Main() {
List<string> myList = new List<string>();
myList.Add("One");
myList.Add("Two");
myList.Add("Three");
myList.Add("Four");
myList.Add("Five");
myList.Add("Six");
// 처음 세 개의 요소 가져오기
var res = myList.Take(3);
// 결과 출력
foreach (string str in res) {
Console.WriteLine(str);
}
}
}실행 결과
프로그램을 실행하면 리스트의 처음 세 개 요소가 순서대로 출력됩니다.
One Two Three
정리
Take() 메서드는 System.Linq 네임스페이스에 포함되어 있으므로 반드시 using System.Linq; 구문을 추가해야 합니다. 이 메서드는 지연 실행(lazy evaluation) 방식으로 동작하며, 원본 리스트는 변경되지 않고 새로운 IEnumerable<T> 시퀀스를 반환한다는 점도 기억해 두면 유용합니다.