C#-Übungen

Generisches Repository im Speicher mit C#

In dieser Lektion baust du eine generische Repository-Klasse, die beliebige Datentypen speichert und dabei typsicher bleibt.

Einführung

Ein Repository ist die Zwischenschicht, die für das Speichern und Abrufen von Daten zuständig ist. Schreibst du das Repository generisch, reicht eine einzige Implementierung für viele Datenarten wie Benutzer, Produkte oder Bestellungen, ganz ohne Typumwandlungen.

Die Klasse Repository<T> speichert die Daten in einer privaten List<T>. Erzeugst du new Repository<string>(), nimmt das Repository nur Strings an, und jeder Versuch, einen anderen Typ hinzuzufügen, wird vom Compiler gemeldet. Die Eigenschaft All gibt eine IReadOnlyList<T> zurück, die das Lesen erlaubt, das Ändern der Liste von außen aber nicht.

Ausführbares C#-Beispiel

C#
Code ausführen →
Program.cs
using System;
using System.Collections.Generic;
class Repository<T>
{
    private readonly List<T> _items = new();
    public void Add(T item) => _items.Add(item);
    public IReadOnlyList<T> All => _items;
}
class Program
{
    static void Main() { var repo = new Repository<string>(); repo.Add("C#"); Console.WriteLine(repo.All[0]); }
}
Ergebnis der Ausführung
C#

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