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 jeTime parametra tipa. Može se koristiti bilo koje ime, aliTje 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");