Sobes.tech
Junior — Middle

Was ist der Unterschied zwischen den verschiedenen Arten von Sammlungsschnittstellen?

sobes.tech KI

Antwort von AI

In C# definieren Sammlungsschnittstellen verschiedene Verträge für die Arbeit mit Datensätzen, und ihr Unterschied liegt in Funktionalität und Zweck:

  • IEnumerable<T> — Basisschnittstelle zum Durchlaufen einer Sammlung mit foreach. Ermöglicht nur das Lesen der Elemente nacheinander.
  • ICollection<T> — erweitert IEnumerable<T>, fügt Methoden zum Ändern der Sammlung hinzu (Add, Remove), Eigenschaften Count und IsReadOnly.
  • IList<T> — erweitert ICollection<T>, fügt einen Indexer für den Zugriff nach Index sowie Methoden zum Einfügen und Entfernen nach Index hinzu.
  • IDictionary<TKey, TValue> — stellt eine Sammlung von Schlüssel-Wert-Paaren dar, bei der der Zugriff auf Elemente über den Schlüssel erfolgt.

Die Wahl der Schnittstelle hängt also von den erforderlichen Operationen ab: Wenn nur Iteration benötigt wird — IEnumerable<T>, bei Modifikation und Zählung — ICollection<T>, bei Zugriff nach Index — IList<T>, bei Arbeit mit Schlüsseln — IDictionary<TKey, TValue>.