Встречается на собеседованиях • сегодня
Как устроен список
List в C# — это динамический массив, который автоматически увеличивает свою вместимость при добавлении элементов.
**Основные особенности:**
- Внутри использует массив `T[]` для хранения данных.
- Имеет свойство `Capacity` (текущий размер внутреннего массива) и `Count` (фактическое количество элементов).
- При добавлении элементов, если `Count == Capacity`, массив увеличивается в 2 раза (по умолчанию).
**Пример:**
```csharp
List numbers = new List(); // Capacity = 0
numbers.Add(1); // Capacity = 4 (по умолчанию начальный размер)
numbers.AddRange(new[] { 2, 3, 4, 5 }); // Capacity = 8 (удвоение)
```
**Оптимизация:**
- Если известно количество элементов, лучше задать `Capacity` заранее, чтобы избежать лишних переаллокаций.
- `TrimExcess()` уменьшает Capacity до Count, если разница значительна.
**Плюсы:**
- Быстрый доступ по индексу (O(1)).
- Динамическое расширение.
**Минусы:**
- Вставка/удаление в середину — O(n) (сдвиг элементов).
- Переаллокация при расширении требует копирования данных.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы