Generikusok lehetővé teszik osztályok és metódusok írását típussal paraméterezhető módon, amely típusbiztonságot és újrafelhasználhatóságot nyújt kódismétlődés vagy casting nélkül. Korlátok korlátozza, hogy egy generikus paraméter milyen típusok lehetnek, lehetővé téve tagjainak biztonságos használatát. A generikusok áthatják a C#-ot (az egész collections könyvtár használja őket).
A generikusok által megoldott probléma
=> arr[i];
=> arr[i];
x = Get([] { , , }, );
