Junior
127
questionbank
Что такое обобщенные типы (Generic) в C#?
Answer from AI
sobes.tech 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");