Eine generische Auflistung ist eine Klasse, die Typsicherheit bietet, ohne von einem Basisauflistungstyp ableiten und typspezifische Member implementieren zu müssen. Eine nicht generische Sammlung ist eine spezialisierte Klasse für das Speichern und Abrufen von Daten, die Unterstützung für Stapel, Warteschlangen, Listen und Hashtabellen bietet. Das Hauptunterschied zwischen generischer und nicht generischer Collection in C # ist das Eine generische Sammlung ist stark typisiert, während eine nicht generische Sammlung nicht stark typisiert ist.
1. Übersicht und Schlüsseldifferenz
2. Was ist die generische Sammlung in C #?
3. Was ist eine nicht generische Sammlung in C #?
4. Ähnlichkeiten zwischen generischer und nicht generischer Sammlung in C #
5. Side-by-Side-Vergleich - Generische vs. nicht generische Sammlung in C # in tabellarischer Form
6. Zusammenfassung
Die nicht generischen Sammlungen wie ArrayList, Queue, Stack usw. können Elemente unterschiedlicher Datentypen speichern. Beim Abrufen der Elemente sollte der Programmierer den Typ mit dem korrekten Datentyp eingeben. Andernfalls kann es zu einer Laufzeitausnahme kommen. Die generischen Auflistungsklassen können verwendet werden, um dieses Problem zu beheben. Generische Sammlungen speichern Elemente intern in Arrays ihres tatsächlichen Typs. Daher ist kein Typguss erforderlich. Sie können zum Speichern von Elementen des angegebenen Typs oder der angegebenen Typen verwendet werden. Einige generische Auflistungsklassen sind List, Dictionary, SortedList, HashSet, Queue, Stack .
Die GenericList enthält Elemente des angegebenen Typs. Es kann die Liste beim Hinzufügen von Elementen entsprechend vergrößern. Wenn die folgende Anweisung vorliegt, sollten alle Elemente, die in der Liste gespeichert werden können, Ganzzahlen sein,
Liste list1 - neue Liste ();
Das generische Wörterbuch in C # ist eine Sammlung von Schlüsseln und Werten. Wenn es eine Anweisung wie folgt gibt, kann das Objektwörterbuch1 Schlüssel vom Typ int und Werte vom Typ String speichern.
Dictionary dictionary1 = neues Wörterbuch ();
Eine generische SortedList-Sammlung speichert Schlüssel- und Wertepaare standardmäßig in aufsteigender Reihenfolge nach Schlüssel. Im folgenden Beispiel wird der Schlüssel vom Typ int und der Wert des Zeichenfolgentyps gespeichert.
SortedList s0 = neue SortedList ();
Dies sind einige Beispiele für die Generic Collection in C #. Diese Sammlungen können mehrere Werte der angegebenen Datentypen speichern. Sie sind also stark typisiert.
Arrays können zum Speichern mehrerer Elemente verwendet werden. Ein Nachteil besteht darin, dass Elemente des gleichen Datentyps gespeichert werden können. Es gibt Klassen in C #, die zum Speichern vieler Werte oder Objekte verwendet werden können, die als Sammlungen bezeichnet werden. Sammlungen helfen beim Speichern, Aktualisieren, Löschen, Suchen und Sortieren von Objekten. Die Größe der Sammlung kann dynamisch erhöht oder verringert werden.
Einige nicht generische Collection-Klassen sind ArrayList, SortedList, Stack, Queue und HashTable. Jede Auflistungsklasse implementiert die IEnumerable-Schnittstelle. Es hilft, die Elemente der Elemente in der Auflistung mithilfe der foreach-Schleife zu durchlaufen.
ArrayList ist eine Alternative zu einem Array. Wenn ein Array 10 Elemente speichern kann, kann es 20 Elemente nicht speichern. Wenn das Array mit 10 Elementen initialisiert ist, aber nur 5 Elemente speichert, wird der Rest nicht verwendet. Daher ist ein Array festgelegt. In einer ArrayList können je nach Index Elemente hinzugefügt oder entfernt werden. Es ermöglicht eine dynamische Speicherzuordnung. Die Sortiermethode kann verwendet werden, um die Elemente in aufsteigender Reihenfolge zu sortieren.
Die HashTable wird verwendet, um eine Sammlung von Schlüsselwertpaaren darzustellen. Sie sind basierend auf dem Hash-Code des Schlüssels organisiert. Daher hat jedes Element ein Schlüsselwertpaar. Mit dem Schlüssel kann auf ein bestimmtes Element in der Auflistung zugegriffen werden. Der Stack ist der letzte Zugriff auf Elemente. Die Warteschlange wird für den First-In-First-Out-Zugriff von Elementen verwendet. Dies sind einige der nicht generischen Sammlungen, die von C # unterstützt werden. Diese Sammlungen können Elemente verschiedener Typen speichern.
Generische vs nicht generische Sammlung in C # | |
Eine generische Auflistung ist eine Klasse, die Typsicherheit bietet, ohne von einem Basisauflistungstyp ableiten und typspezifische Member implementieren zu müssen. | Eine nicht generische Sammlung ist eine spezialisierte Klasse für das Speichern und Abrufen von Daten, die Unterstützung für Stapel, Warteschlangen, Listen und Hashtabellen bietet. |
Namensraum | |
Die Generic Collection-Klassen befinden sich im System. Sammlungen. Generics-Namespace. | Die nicht generischen Collection-Klassen befinden sich im System. Namespace der Sammlungen. |
Art | |
Eine generische Sammlung ist stark typisiert. | Eine nicht generische Sammlung ist nicht stark typisiert. |
Elemente speichern | |
Die generischen Sammlungen speichern Elemente intern in Arrays ihres tatsächlichen Typs. | In den nicht generischen Sammlungen werden Elemente intern in Objektarrays gespeichert, sodass alle Arten von Daten gespeichert werden können. |
In diesem Artikel wurde der Unterschied zwischen der generischen und der nicht generischen Sammlung in C # beschrieben. Der Unterschied zwischen generischer und nicht generischer Sammlung besteht darin, dass eine generische Sammlung stark typisiert ist, während eine nicht generische Sammlung nicht stark typisiert ist.
1. "Wann werden generische Sammlungen verwendet?". Microsoft Docs. Hier verfügbar
2. "Generische Sammlung in C #". TutorialsTeacher.com. Hier verfügbar
3. "C # Collection:" Sammlung in C #, TutorialsTeacher.com. Hier verfügbar
4. "C # -Sammlungen"., Tutorials Punkt, 19. März 2018. Hier verfügbar
1.'Logo C Sharp'By Microsoft , (Public Domain) über Commons Wikimedia