Ejercicios de C#

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

C#
Ejecutar código →
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));
    }
}
Resultado de la ejecución
4, 5, 6

Practica con el depurador

Pon un punto de interrupción en una asignación o condición importante, pulsa Debug y revisa los valores locales antes de pasar a la siguiente línea.

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