Встречается на 12% собеседований по C#

Что такое Generics

Generics позволяют создавать классы, методы и интерфейсы с параметризованными типами, что обеспечивает безопасность типов и исключает необходимость приведения типов. Они повышают производительность и читаемость кода, уменьшая дублирование.

csharp
public class GenericList<T>
{
    private List<T> _items = new List<T>();
text
public void Add(T item) => _items.Add(item);
public T Get(int index) => _items[index];

}

// Использование
var intList = new GenericList<int>();
intList.Add(1);
var number = intList.Get(0); // Без приведения типов

text

**Преимущества:**
- Type safety: ошибки типов выявляются на этапе компиляции
- Повторное использование кода: один обобщенный метод работает с разными типами
- Производительность: исключает boxing/unboxing для значимых типов

**Ограничения:**
- Нельзя использовать арифметические операторы для T без ограничений
- Некоторые операции (например, `new T()`) требуют ограничений (`where T : new()`)

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы