Sobes.tech
Back to questions
Junior — Middle
71

Что подразумевается под термином 'Capacity' в структуре данных списка?

Answer from AI

sobes.tech AI

В структуре данных List в C# свойство Capacity обозначает количество элементов, которое список может содержать без необходимости выделения дополнительной памяти.

  • Capacity всегда больше или равно текущему количеству элементов (Count).
  • При добавлении элементов, если Count превышает Capacity, список автоматически увеличивает Capacity, выделяя новый массив большего размера и копируя туда данные.

Это важно для производительности: если заранее известно примерное количество элементов, можно задать Capacity, чтобы избежать частых перераспределений памяти.

Пример:

List<int> numbers = new List<int>(10); // Capacity = 10

for (int i = 0; i < 10; i++) {
    numbers.Add(i);
}

Console.WriteLine(numbers.Capacity); // 10

numbers.Add(11); // Capacity увеличится, например, до 20
Console.WriteLine(numbers.Capacity); // 20

Таким образом, Capacity — это внутренний размер массива, используемого списком, а Count — фактическое количество элементов.