Generische Auflistungen in .NET Framework
Aktualisiert: November 2007
In diesem Thema finden Sie eine Übersicht über die generischen Auflistungsklassen und andere generische Typen in .NET Framework.
Generische Auflistungen in .NET Framework
Die Klassenbibliothek von .NET Framework enthält eine Reihe generischer Auflistungsklassen im System.Collections.Generic-Namespace und im System.Collections.ObjectModel-Namespace. Weitere Informationen zu diesen Klassen finden Sie unter Häufig verwendete Auflistungstypen.
System.Collections.Generic
Viele der generischen Auflistungstypen sind direkte Entsprechungen nicht generischer Typen. Dictionary<TKey, TValue> ist die generische Version von Hashtable und verwendet die generische Struktur KeyValuePair<TKey, TValue> anstelle von DictionaryEntry für die Enumeration.
List<T> ist eine generische Version von ArrayList. Es gibt die generische Queue<T>-Klasse und die generische Stack<T>-Klasse, die nicht generischen Versionen entsprechen.
Es gibt generische und nicht generische Versionen von SortedList<TKey, TValue>. Beide Versionen sind eine Mischung aus Wörterbuch und Liste. Die generische SortedDictionary<TKey, TValue>-Klasse ist ein reines Wörterbuch und hat keine nicht generische Entsprechung.
Die generische LinkedList<T>-Klasse ist eine echte verknüpfte Liste. Zu ihr gibt es keine nicht generische Entsprechung.
System.Collections.ObjectModel
Die generische Collection<T>-Klasse stellt eine Basisklasse zum Ableiten eigener generischer Auflistungstypen bereit. Die ReadOnlyCollection<T>-Klasse bietet eine einfache Möglichkeit, eine schreibgeschützte Auflistung von jedem beliebigen Typ abzuleiten, der die generische IList<T>-Schnittstelle implementiert. Die generische KeyedCollection<TKey, TItem>-Klasse bietet eine Möglichkeit, Objekte zu speichern, die ihre eigenen Schlüssel enthalten.
Andere generische Typen
Die generische Nullable<T>-Struktur ermöglicht es Ihnen, Werttypen so zu verwenden, als ob ihnen null zugewiesen werden konnte. Dies kann bei der Verwendung von Datenbankabfragen hilfreich sein, bei denen Felder fehlen können, die Werttypen enthalten. Der generische Typparameter kann ein beliebiger Werttyp sein.
Hinweis: |
---|
In C# muss Nullable<T> nicht explizit verwendet werden, da die Sprache eine Syntax für NULL-fähige Typen besitzt. |
Die generische ArraySegment<T>-Struktur stellt eine Möglichkeit dar, einen Bereich von Elementen in einem eindimensionalen nullbasierten Array eines beliebigen Typs abzugrenzen. Der generische Typparameter ist der Typ der Elemente des Arrays.
Mit dem generischen EventHandler<TEventArgs>-Delegaten muss zum Behandeln von Ereignissen kein Delegattyp mehr deklariert werden, wenn das Ereignis dem von .NET Framework verwendeten Muster für die Ereignisbehandlung folgt. Angenommen, Sie haben eine von EventArgs abgeleitete MyEventArgs-Klasse erstellt, um die Daten für das Ereignis zu speichern. Sie können dann das Ereignis wie folgt deklarieren:
Public Event MyEvent As EventHandler(Of MyEventArgs)
public event EventHandler<MyEventArgs> MyEvent;
public:
event EventHandler<MyEventArgs^>^ MyEvent;
Siehe auch
Konzepte
Übersicht über Generika in .NET Framework
Generische Delegaten zum Bearbeiten von Arrays und Listen
Vorteile und Einschränkungen von Generika
Referenz
System.Collections.ObjectModel