Ejercicios de C#

Una lista de tareas con List<T> en C#

En esta lección vas a gestionar una lista de tareas con records y List<T> y a filtrar las que aún no están terminadas.

Introducción

Los records y las colecciones genéricas como List<T> ofrecen una forma clara de crear un modelo de datos en memoria. Cada tarea se representa con un record con un título y un estado de finalización, y List<TaskItem> contiene todas las tareas.

El método FindAll recibe una condición en forma de lambda y devuelve una lista nueva que solo contiene las tareas que la cumplen, en este caso las que tienen Done en false. El resultado sigue estando formado por objetos TaskItem con tipo completo, así que se puede usar directamente task.Title. El programa muestra Learn events.

Mira cómo funciona

Usa los botones para cambiar la lista y mira cómo se actualizan los índices. Mueve start y stop para ver qué elementos toma una porción.

Ejemplo de C# ejecutable

C#
Ejecutar código →
Program.cs
using System;
using System.Collections.Generic;
record TaskItem(string Title, bool Done);
class Program
{
    static void Main()
    {
        var tasks = new List<TaskItem> { new("Learn LINQ", true), new("Learn events", false) };
        foreach (var task in tasks.FindAll(task => !task.Done)) Console.WriteLine(task.Title);
    }
}
Resultado de la ejecución
Learn events

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