Junior
Ի՞նչ են ընդհանուր տիպերը (Generic) C#-ում։
sobes.tech AI
Պատասխան AI-ից
C#-ի ընդհանուր տիպերը (Generic) թույլ են տալիս սահմանել դասեր, կառուցվածքներ, ինտերֆեյսներ, դելեգատներ և մեթոդներ տիպի պարամետրերով։ Սա հնարավորություն է տալիս կոդի վերաօգտագործում և տիպային անվտանգության բարձրացում։
Հիմնական առավելությունները՝
- Կոդի վերաօգտագործում՝ Միայն մեկ դաս կամ մեթոդ կարող է աշխատել տարբեր տվյալների տիպերով՝ առանց կրկնության։
- Տիպային անվտանգության՝ Կոմպիլատորը ստուգում է տիպերը ժամանակի ընթացքում՝ կանխելով ժամանակի ընթացքում տիպի անհամապատասխանության հետ կապված սխալները։
- Արձագանքման արդյունավետություն՝ Վարժական տիպերի (struct) համար boxing չի կատարվում, ինչը բարելավում է կատարողականությունը
object-ի օգտագործման համեմատ։
Աշխատանքի սկզբունքներ՝
- Տիպի պարամետրեր՝ Դրանք սահմանվում են անկյունագծային փակագծերով
<T>՝ որտեղT-ն տիպի պարամետրի անունն է։ Կարող եք օգտագործել ցանկացած անուն, բայցT-ն սովորական է։ - Նմուշների ստեղծում՝ Երբ ստեղծում եք ընդհանուր տիպի օրինակ, անհրաժեշտ է նշել կոնկրետ տվյալների տիպը յուրաքանչյուր տիպի պարամետրի համար։
- Համակարգեր (Constraints)՝ Տիպի պարամետրերին կարող են սահմանափակումներ դրվել՝ նշելով, թե ինչ հնարավորություններ պետք է աջակցեն տիպերը (օրինակ՝ ինտերֆեյսի իրականացման, հիմնական դասի, կոնստրուկտորի բացակայության և այլն)։
Օրինակ՝ օգտագործելով List<T> ընդհանուր դասը՝
// Մեկ ցուցակ ամբողջ թվերի
List<int> numbers = new List<int>();
numbers.Add(1);
numbers.Add(2);
// Մեկ ցուցակ տողերի
List<string> names = new List<string>();
names.Add("Alice");
names.Add("Bob");