Eine Aufgabenliste mit List<T> in C#
In dieser Lektion verwaltest du eine Aufgabenliste mit Records und List<T> und filterst die noch nicht erledigten Aufgaben heraus.
Einführung
Records und generische Sammlungen wie List<T> sind ein übersichtlicher Weg, ein Datenmodell im Speicher aufzubauen. Jede Aufgabe ist ein Record mit Titel und Erledigt-Status, und List<TaskItem> speichert alle Aufgaben.
Die Methode FindAll erhält eine Bedingung als Lambda und gibt eine neue Liste mit den Aufgaben zurück, die sie erfüllen, hier mit Done gleich false. Das Ergebnis besteht weiterhin aus vollständig typisierten TaskItem-Objekten, deshalb kannst du direkt task.Title verwenden. Das Programm gibt Learn events aus.
So funktioniert es
Ändere die Liste mit den Schaltflächen und sieh, wie sich die Indizes anpassen. Verschiebe start und stop, um zu sehen, welche Elemente ein Slice nimmt.
Ausführbares C#-Beispiel
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 eventsMit dem Debugger üben
Mit einer Challenge üben
Nutze den Inhalt dieser Lektion, um ein echtes Problem zu lösen. Jede Challenge läuft im Browser, mit sofortigen Tests und einem KI-Review.
Alle Challenges