Junior
Kas ir ģeneriskie tipi C#?
sobes.tech AI
Atbilde no AI
Vispārīgie tipi (Generic) C# ļauj definēt klases, struktūras, interfeisus, delegātus un metodes ar tipa parametriem. Tas nodrošina koda atkārtotu izmantošanu un tipu drošību.
Galvenās priekšrocības:
- Koda atkārtota izmantošana: Viena klase vai metode var strādāt ar dažādiem datu tipiem bez loģikas dublēšanas.
- Tipu drošība: Kompilators pārbauda tipus kompilācijas laikā, novēršot izpildlaika kļūdas, kas saistītas ar neatbilstību tipiem.
- Veiktspēja: Attiecībā uz vērtību tipiem (struct) nenotiek boxing, kas uzlabo veiktspēju salīdzinājumā ar
objectizmantošanu.
Darbības principi:
- Tipa parametri: Definēti ar trijstūra iekavām
<T>, kurTir parametra nosaukums. Var izmantot jebkuru nosaukumu, bet parasti tiek lietotsT. - Instanču izveide: Izveidojot ģeneriskā tipa instanci, jānorāda konkrēts datu tips katram tipa parametrim.
- Ierobežojumi (Constraints): Var uzlikt ierobežojumus tipa parametriem, norādot, kādas iespējas tipiem jāatbalsta (piemēram, interfeisa īstenošana, pamata klase, konstruktoru neesamība utt.).
Piemērs, izmantojot List<T> ģenerisko klasi:
// Veselu skaitļu saraksta izveide
List<int> numbers = new List<int>();
numbers.Add(1);
numbers.Add(2);
// Virkņu saraksta izveide
List<string> names = new List<string>();
names.Add("Alice");
names.Add("Bob");