C#のSkipとTakeでデータをページ分けする
このレッスンでは、LINQのSkipとTakeを使って、リストの中の特定のページのデータを取り出します。
はじめに
データが多いとき、アプリは1ページに10件の商品というように、ページごとに表示するのが一般的です。LINQには、先頭のいくつかの要素を飛ばすSkipと、その次のいくつかの要素を取るTakeの2つのメソッドがあり、組み合わせるとページ分けができます。
ページ番号が1から始まる場合、飛ばす要素の数は(page - 1) * sizeです。1ページ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 のレビューも受けられます。
すべてのチャレンジ