Sobes.tech
Junior

Šta su generički tipovi u C#?

sobes.tech АИ

Одговор од АИ

Generički tipovi u C# omogućavaju definisanje klasa, struktura, interfejsa, delegata i metoda sa parametrima tipa. Ovo pruža mogućnost ponovne upotrebe koda i povećanja sigurnosti tipova.

Glavne prednosti:

  • Ponovna upotreba koda: Jedna klasa ili metoda može raditi sa različitim tipovima podataka bez dupliranja logike.
  • Sigurnost tipova: Kompajler proverava tipove tokom kompajliranja, sprečavajući greške u izvršenju povezane sa neslaganjem tipova.
  • Performanse: Za vrednosne tipove (struct), ne dolazi do boxing-a, što poboljšava performanse u poređenju sa korišćenjem object.

Principi rada:

  • Parametri tipa: Definišu se korišćenjem uglastih zagrada <T>, gde je T ime parametra tipa. Može se koristiti bilo koje ime, ali T je uobičajeno.
  • Kreiranje instanci: Pri kreiranju instance generičkog tipa, potrebno je navesti konkretan tip podataka za svaki parametar tipa.
  • Ograničenja (Constraints): Mogu se nametnuti ograničenja na parametre tipa, navodeći koje mogućnosti tipovi moraju podržavati (npr. implementacija interfejsa, osnovna klasa, odsustvo konstruktora).

Primer korišćenja generičke klase List<T>:

// Kreiranje liste celih brojeva
List<int> numbers = new List<int>();
numbers.Add(1);
numbers.Add(2);

// Kreiranje liste stringova
List<string> names = new List<string>();
names.Add("Alice");
names.Add("Bob");