Generics vă permit să scrieți clase și metode parametrizate după tip, oferind type safety și reutilizabilitate fără duplicare de cod sau casting. Constraints restricționează ce tipuri poate fi un parametru generic, permițând utilizarea sigură a membrilor acestora. Generics sunt omniprezente în C# (întreaga bibliotecă de colecții le utilizează).
Problema pe care o rezolvă generics
=> arr[i];
=> arr[i];
x = Get([] { , , }, );
