Sobes.tech
Junior

Ce sunt tipurile generice în C#?

sobes.tech AI

Răspuns de la AI

Tipurile generice în C# permit definirea de clase, structuri, interfețe, delegați și metode cu parametri de tip. Acest lucru oferă posibilitatea reutilizării codului și creșterea siguranței tipurilor.

Principalele avantaje:

  • Reutilizarea codului: O singură clasă sau metodă poate lucra cu diferite tipuri de date fără duplicarea logicii.
  • Siguranța tipurilor: Compilatorul verifică tipurile în timpul compilării, prevenind erorile de execuție legate de incompatibilitatea tipurilor.
  • Performanță: Pentru tipurile de valoare (struct), nu are loc boxing, ceea ce îmbunătățește performanța comparativ cu utilizarea object.

Principii de funcționare:

  • Parametri de tip: Sunt definiți folosind paranteze unghiulare <T>, unde T este numele parametrului de tip. Se poate folosi orice nume, dar T este convențional.
  • Crearea de instanțe: La crearea unei instanțe a unui tip generic, trebuie specificat un tip de date concret pentru fiecare parametru de tip.
  • Restricții (Constraints): Se pot impune restricții asupra parametrilor de tip, indicând ce capabilități trebuie să suporte tipurile (de exemplu, implementarea unei interfețe, clasă de bază, lipsa constructorului etc.).

Exemplu de utilizare a clasei generice List<T>:

// Crearea unei liste de numere întregi
List<int> numbers = new List<int>();
numbers.Add(1);
numbers.Add(2);

// Crearea unei liste de șiruri de caractere
List<string> names = new List<string>();
names.Add("Alice");
names.Add("Bob");