Перейти к основному содержимому

Списки

List<T> - Как установить ёмкость списка и зачем оно нужно?

Ёмкость списка (Capacity) — это количество элементов, которые можно поместить в список без увеличения размерности массива.

Указание ёмкости позволяет оптимизировать выделение памяти для списка и повысить производительность.

List<T> внутри состоит из обычного массива. С массивами эффективней работать, если заранее известен их размер. Если размер не известен, то приходится пересоздавать массив и это несёт определенные накладные расходы.

// инициализируем список размером в три элемента
var list = new List<string>(3);

// добавляем три элемента
list.Add("one");
list.Add("two");
list.Add("three");

Console.WriteLine($"Capacity: {list.Capacity}"); // Capacity: 3

// если добавим ещё, то списку придётся пересоздавать внутренний массив увеличив его в два раза
list.Add("four");
list.Add("five");

Console.WriteLine($"Capacity: {list.Capacity}"); // Capacity: 6