C#-Übungen

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

C#
Code ausführen →
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);
    }
}
Ergebnis der Ausführung
Learn events

Mit dem Debugger üben

Setze einen Haltepunkt auf eine wichtige Zuweisung oder Bedingung, klicke auf Debug und sieh dir die lokalen Werte an, bevor du zur nächsten Zeile gehst.

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