Sobes.tech
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");