C#에서 리스트(List)의 마지막 세 개 요소를 역순으로 출력하려면 LINQ의 Take() 메서드와 Reverse() 메서드를 함께 사용하면 됩니다. 두 메서드를 조합하면 별도의 반복문이나 인덱스 계산 없이 간결하게 원하는 결과를 얻을 수 있습니다.
리스트 선언 및 요소 추가
먼저 문자열 리스트를 선언하고 요소들을 추가합니다.
List<string> myList = new List<string>();
myList.Add("One");
myList.Add("Two");
myList.Add("Three");
myList.Add("Four");
마지막 세 요소를 역순으로 가져오기
Reverse() 메서드로 리스트의 순서를 뒤집은 뒤, Take(3)으로 앞에서 세 개의 요소를 가져오면 원본 리스트의 마지막 세 요소가 역순으로 추출됩니다.
myList.Reverse<string>().Take(3);
동작 원리
Reverse()는 기존 리스트의 순서를 완전히 뒤집은 새로운 시퀀스를 반환합니다. 여기에 Take(3)을 적용하면 뒤집힌 시퀀스의 처음 세 개 요소, 즉 원본 리스트의 마지막 세 요소("Four", "Three", "Two")를 얻게 됩니다. 이 방식은 원본 리스트를 변경하지 않고 새로운 결과만 생성하므로 안전하게 사용할 수 있습니다.
전체 예제 코드
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");
// 마지막 세 요소를 역순으로 가져오기
var res = myList.Reverse<string>().Take(3);
// 결과 출력
foreach (string str in res) {
Console.WriteLine(str);
}
}
}
실행 결과
Four
Three
Two
이처럼 Reverse()와 Take()를 조합하면 리스트의 뒷부분 데이터를 손쉽게 역순으로 처리할 수 있으며, 요소 개수가 많은 컬렉션에서도 유용하게 활용할 수 있습니다.