Was ist Ihre beste Ressource über Generika und deren Schnittstellen? [geschlossen]
-
03-07-2019 - |
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 #?
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
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