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
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);
}
}
Learn eventsPractica 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