Junior
Какво са обобщените типове (Generic) в C#?
sobes.tech AI
Отговор от AI
Обобщените типове (Generic) в C# позволяват да дефинирате класове, структури, интерфейси, делегати и методи с параметри на типове. Това предоставя възможност за повторно използване на кода и повишаване на типовата безопасност.
Основни предимства:
- Повторно използване на код: Единичен клас или метод може да работи с различни типове данни без дублиране на логика.
- Типова безопасност: Компилаторът проверява типовете по време на компилация, предотвратявайки грешки по време на изпълнение, свързани с несъответствие на типове.
- Производителност: За стойностните типове (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");