Generiki vam omogočajo pisanje razredov in metod, parametriziranih s tipom, kar zagotavlja varnost tipov in ponovno uporabnost brez podvajanja kode ali pretvarjanja. Omejitve omejevajo, kateri tipi so dovoljeni kot generični parameter, kar omogoča varno uporabo njihovih članov. Generiki so razširjeni v jeziku C# (cela knjižnica zbirk jih uporablja).
Problem, ki ga rešijo generiki
=> arr[i];
=> arr[i];
x = Get([] { , , }, );
