Freigeben über


Auflistungen und Datenstrukturen

Aktualisiert: November 2007

Miteinander verwandte Daten können effektiver gehandhabt werden, wenn sie in Auflistungen gruppiert werden. Anstatt Code für jedes einzelne Objekt zu schreiben, kann derselbe Code verwendet werden, um alle Elemente einer Auflistung zu verarbeiten.

Zum Verwalten einer Auflistung können mit der Array-Klasse und der System.Collections-Klasse einzelne Elemente der Auflistung oder ein Bereich von Elementen hinzugefügt, entfernt oder geändert werden. Es kann auch eine gesamte Auflistung in eine andere Auflistung kopiert werden.

Einige Collections-Klassen haben Sortierungsfunktionen, die meisten sind indiziert. Die Speicherverwaltung erfolgt automatisch, und die Kapazität einer Auflistung wird je nach Anforderung erweitert. Die Synchronisierung bietet Threadsicherheit beim Zugriff auf die Member der Auflistung. Einige der Collections-Klassen können Wrapper generieren, die die Auflistung mit einem Schreibschutz oder einer festen Größe versehen. Alle Collections-Klassen können ihren eigenen Enumerator generieren, der das Durchlaufen der Elemente vereinfacht.

In .NET Framework Version 2.0 bieten generische Auflistungsklassen neue Funktionalität und vereinfachen das Erstellen von Auflistungen mit starker Typisierung. Siehe den System.Collections.Generic-Namespace und den System.Collections.ObjectModel-Namespace.

Mit dem LINQ to Objects-Feature können Sie LINQ-Abfragen für den Zugriff auf Objekte im Arbeitsspeicher verwenden, solange der Objekttyp IEnumerable oder IEnumerable<T> implementiert. LINQ-Abfragen bieten ein allgemeines Muster für den Datenzugriff, sind normalerweise präziser und besser lesbar als standardmäßige foreach-Schleifen und stellen Filter-, Sortier- und Gruppierungsfunktionen bereit. LINQ-Abfragen können auch die Leistung verbessern. Weitere Informationen finden Sie unter LINQ to Objects.

In diesem Abschnitt

Referenz