Generikk lar deg skrive klasser og metoder parameterisert av en type, og gir typesikkerhet og gjenbrukbarhet uten kodeduplisering eller typekonvertering. Constraints begrenser hvilke typer en generisk parameter kan være, og muliggjør sikker bruk av deres medlemmer. Generikk er allestedsstede i C# (hele samlingslibrariet bruker dem).
Problemet som generikk løser
=> arr[i];
=> arr[i];
x = Get([] { , , }, );
