Встречается на собеседованиях • сегодня

Как устроен список

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) (сдвиг элементов). - Переаллокация при расширении требует копирования данных.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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