Hauptunterschied - Generische und nicht generische Sammlung in C #
Eine generische Auflistung ist eine Klasse, die Typensicherheit bietet, ohne von einem Basissammlungstyp abgeleitet und typspezifische Elemente implementiert werden zu müssen. Eine nicht generische Sammlung ist eine spezielle Klasse zum Speichern und Abrufen von Daten, die Unterstützung für Stapel, Warteschlangen, Listen und Hashtabellen bietet. Der Hauptunterschied zwischen generischer und nicht generischer Sammlung in C # besteht darin, dass eine generische Sammlung stark typisiert ist, während eine nicht generische Sammlung nicht stark typisiert ist.
INHALT
1. Überblick und Hauptunterschied
2. Was ist eine generische Sammlung in C #
? 3. Was ist eine nicht generische Sammlung in C # ?
4. Ähnlichkeiten zwischen generischer und nicht generischer Sammlung in C #
5. Vergleich nebeneinander - Generische und nicht generische Sammlung in C # in Tabellenform
6. Zusammenfassung
Was ist die generische Sammlung in C #?
In den nicht generischen Sammlungen wie ArrayList, Queue, Stack usw. können Elemente verschiedener Datentypen gespeichert werden. Wenn der Programmierer die Elemente erhält, sollte er sie in den richtigen Datentyp umwandeln. 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 ihrer tatsächlichen Typen. 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 eine Anweisung wie folgt vorliegt, sollten alle Elemente, die in der Liste1 gespeichert werden können, Ganzzahlen sein.
List list1 - neue Liste ();
Das generische Wörterbuch in C # ist eine Sammlung von Schlüsseln und Werten. Wenn eine Anweisung wie folgt vorliegt, kann das Objektwörterbuch1 int-Typschlüssel und Zeichenfolgentypwerte speichern.
Wörterbuch dictionary1 = neues Wörterbuch ();
In einer generischen SortedList-Auflistung werden Schlüssel- und Wertepaare standardmäßig in aufsteigender Reihenfolge des Schlüssels gespeichert. Das folgende Beispiel speichert den Schlüssel vom Typ int und den Wert vom Typ string.
SortedList s0 = new SortedList ();
Dies sind nur einige Beispiele für die generische Sammlung in C #. Diese Sammlungen können mehrere Werte der angegebenen Datentypen speichern. Sie sind also stark typisiert.
Was ist eine nicht generische Sammlung in C #?
Arrays können zum Speichern mehrerer Elemente verwendet werden. Ein Nachteil ist, dass Elemente desselben Datentyps gespeichert werden können. In C # gibt es Klassen, in denen viele Werte oder Objekte gespeichert 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 vergrößert oder verkleinert werden.
Einige nicht generische Collection-Klassen sind ArrayList, SortedList, Stack, Queue und HashTable. Jede Auflistungsklasse implementiert die IEnumerable-Schnittstelle. Mithilfe der foreach-Schleife können Sie die Elemente der Elemente in der Sammlung durchlaufen.
ArrayList ist eine Alternative zu einem Array. Wenn es ein Array gibt, das 10 Elemente speichern kann, kann es nicht 20 Elemente 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. Mit der Sortiermethode können die Elemente in aufsteigender Reihenfolge sortiert werden.
Die HashTable wird verwendet, um eine Sammlung von Schlüsselwertpaaren darzustellen. Sie sind basierend auf dem Hashcode des Schlüssels organisiert. Daher hat jedes Element ein Schlüsselwertpaar. Mit dem Schlüssel kann auf ein bestimmtes Element in der Sammlung zugegriffen werden. Der Stapel repräsentiert den letzten Zugriff auf Elemente. Die Warteschlange wird für den First-In-First-Out-Zugriff auf Elemente verwendet. Dies sind einige der nicht generischen Sammlungen, die von C # unterstützt werden. Diese Sammlungen können Elemente unterschiedlichen Typs speichern.
Was ist die Ähnlichkeit zwischen generischer und nicht generischer Sammlung in C #?
Sowohl die generische als auch die nicht generische Sammlung können zum Speichern mehrerer Elemente in C # verwendet werden
Was ist der Unterschied zwischen generischer und nicht generischer Sammlung in C #?
Diff Artikel Mitte vor Tabelle
Generische und nicht generische Sammlung in C # |
|
Eine generische Auflistung ist eine Klasse, die Typensicherheit bietet, ohne von einem Basissammlungstyp abgeleitet und typspezifische Elemente implementiert werden zu müssen. | Eine nicht generische Sammlung ist eine spezielle Klasse zum Speichern und Abrufen von Daten, die Stapel, Warteschlangen, Listen und Hash-Tabellen unterstützt. |
Namespace | |
Die generischen Sammlungsklassen befinden sich im System. Sammlungen. Generics-Namespace. | Die nicht generischen Sammlungsklassen befinden sich im System. Sammlungs-Namespace. |
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 ihrer tatsächlichen Typen. | Die nicht generischen Sammlungen speichern Elemente intern in Objektarrays, sodass alle Arten von Daten gespeichert werden können. |
Zusammenfassung - Generische und nicht generische Sammlung in C #
In diesem Artikel wurde der Unterschied zwischen generischer und nicht generischer Sammlung in C # erläutert. 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.