C#에서 Skip과 Take로 데이터 페이지 나누기
이 레슨에서는 LINQ의 Skip과 Take 메서드로 리스트에서 특정 페이지의 데이터를 꺼냅니다.
소개
데이터가 많으면 애플리케이션은 보통 한 페이지에 상품 10개처럼 페이지 단위로 보여 줍니다. LINQ에는 앞에서부터 일정 개수를 건너뛰는 Skip과 그다음 요소를 가져오는 Take가 있으며, 둘을 조합하면 페이지 나누기가 됩니다.
페이지 번호가 1부터 시작하면 건너뛸 요소의 수는 (page - 1) * size입니다. 한 페이지에 요소 3개씩인 2페이지라면 프로그램은 처음 3개를 건너뛰고 다음 3개, 즉 4, 5, 6을 가져옵니다. 실제로는 페이지 순서가 항상 일정하도록 페이지를 나누기 전에 데이터를 정렬하세요.
실행 가능한 C# 예제
C#
Program.cs
using System;
using System.Linq;
class Program
{
static void Main()
{
int page = 2, size = 3;
var items = Enumerable.Range(1, 10).Skip((page - 1) * size).Take(size);
Console.WriteLine(string.Join(", ", items));
}
}
4, 5, 6디버거로 연습하기
중요한 대입이나 조건에 중단점을 두고 Debug를 눌러 다음 줄로 넘어가기 전에 지역 변수 값을 확인하세요.
챌린지로 연습하기
이 레슨에서 배운 내용으로 실제 문제를 풀어 보세요. 모든 챌린지는 브라우저에서 실행되며 즉시 테스트와 AI 리뷰를 받을 수 있습니다.
모든 챌린지