Lista de tarefas com List<T> em C#
Nesta lição, você vai gerenciar uma lista de tarefas com records e List<T> e filtrar as tarefas ainda não concluídas.
Introdução
Records e coleções genéricas como List<T> são uma forma enxuta de montar um modelo de dados na memória. Cada tarefa é representada por um record com título e status de conclusão, e List<TaskItem> guarda todas as tarefas.
O método FindAll recebe uma condição em forma de lambda e retorna uma nova lista apenas com as tarefas que a atendem, aqui as que têm Done igual a false. O resultado continua sendo objetos TaskItem com tipo completo, então dá para usar task.Title direto. O programa imprime Learn events.
Veja como funciona
Use os botões para mudar a lista e veja os índices se atualizarem. Mova start e stop para ver quais itens uma fatia pega.
Exemplo de C# executável
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 eventsPratique com o depurador
Pratique com um desafio
Use o conteúdo desta lição para resolver um problema real. Cada desafio roda no navegador, com testes instantâneos e uma revisão por IA.
Todos os desafios