Das ist neu in C# 2.0

Einsatz generischer Collections

Generics spielen ihre volle Stärke erst in Collections aus. Microsoft trägt dem Rechnung und liefert in der neuen BCL (Base Class Library) gleich einen ganzen Satz an generischen Collections mit.

Die neuen generischen Collections finden Sie diese im Namespace System.Collections.Generics. Eine der dort vorliegenden Klassen ist zum Beispiel List<T>. Dabei handelt es sich um eine generische Listenklasse, also eine typisierte Version der alten "ArrayList". Der Typ-Parameter <T> gibt an, das es sich bei dieser Klasse um eine generische handelt, anstelle des T kommt beim Gebrauch der Klasse der tatsächlich benötigte Typ zum Einsatz.

Wenn Sie also beispielsweise eine List aus String benötigen, dann können Sie diese wie folgt instanzieren:

List<string> list = new List<string>();

Dabei sind Templates nicht auf Reference-Types beschränkt, ebenso eignen sich Value-Types als Typ-Parameter. Eine Liste aus Integern sieht also wie folgt aus:

List<int> list = new List<int>();

Der Typ-Parameter typisiert die Liste-Collection vollständig. Wenn Sie die Liste indizieren, dann erhalten Sie als Ergebnis auch ein Objekt vom Typ des Typ-Parameters – und nicht wie bei den bisherigen .Net-Collections ein "object". Der folgende Ausdruck (mit einer List<string>) ist also auch ganz ohne Typecast korrekt:

string var = list[0];