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>, undeTeste numele parametrului de tip. Se poate folosi orice nume, darTeste 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");