Frage

Ich habe viele Stücke von Dokumentationen und Empfehlungen über IEnumerator, IEnumerable, ICollection, IList und ihre generischen Kollegen gefunden. Leider habe ich noch nicht ein Tutorial oder ein Buch finden, das die ganze Hierarchie von Schnittstellen, generischen Implementierungen dieser Schnittstellen und , um die beste Nutzung jeder Art von der erklärt.

Was war Ihre beste Quelle für das Wissen über die Generika, deren Schnittstellen und Beispiele für empfohlene Verwendung der in C #?

War es hilfreich?

Lösung

Der wichtigste Weg, ich kam, um sie zu verstehen, war nur durch an ihren Grenzflächen suchen.

Das Erbe geht so:

IList: ICollection: IEnumerable

Wenn Sie IEnumerable die Schnittstelle sehen, feststellen, dass sie nur das Nötigste hat durch ein Bündel von Elementen erforderlich, um eine Schleife. Es muss nicht Zahl oder irgendetwas anderes. IEnumerable funktioniert gut, auch wenn das, was Sie suchen auf nur ein Strom über einen Draht kommt.

ICollection fügt Count. Wenn Sie irgendeine Art von Sammlung implementieren, und wenn es einfach, die Größe der es wissen, dann sollten Sie diese implementieren. In diesem Fall ist die generische Schnittstelle ein wenig anders. ICollection hat auch Methoden, um die Sammlung durch das Hinzufügen und Entfernen von Mitgliedern zu ändern. Eine ungeordnete Menge ein guter Kandidat für ICollection sein würde.

IList fügt die Fähigkeit Sammlung Mitglieder durch den Index zu erhalten und eingestellt. Verwenden Sie diese Option, wenn die Reihenfolge der Elemente von Bedeutung ist. Wenn Sie Indizes haben, können Sie Dinge wie Swap tun, um die 4. und 5. Artikel ihre Reihenfolge zu ändern.

Andere Tipps

Sie verpasst nur eines:)

IDictionary : IList: ICollection: IEnumerable

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top