Sobes.tech
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 object izmantošanu.

Darbības principi:

  • Tipa parametri: Definēti ar trijstūra iekavām <T>, kur T ir parametra nosaukums. Var izmantot jebkuru nosaukumu, bet parasti tiek lietots T.
  • 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");