Paginar datos con Skip y Take en C#
En esta lección vas a extraer los datos de una página concreta de una lista con los métodos Skip y Take de LINQ.
Introducción
Cuando hay muchos datos, las aplicaciones suelen mostrarlos página a página, por ejemplo 10 productos por página. LINQ ofrece dos métodos: Skip para saltarse un número de elementos al principio y Take para tomar los siguientes; combinados, hacen la paginación.
Con páginas numeradas desde 1, el número de elementos que hay que saltar es (page - 1) * size. Para la página 2 con 3 elementos por página, el programa se salta los 3 primeros elementos y toma los 3 siguientes, es decir, 4, 5 y 6. En la práctica, ordena los datos antes de paginarlos para que el orden de las páginas sea siempre estable.
Ejemplo de C# ejecutable
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, 6Practica con el depurador
Practica con un reto
Usa lo que cubre esta lección para resolver un problema real. Cada reto se ejecuta en el navegador, con pruebas al instante y una revisión de IA.
Todos los retos