Sobes.tech
Junior

რა არის გენერიკი ტიპები 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");