Метод EnsureCapacity
Метод EnsureCapacity класса
List<T> увеличивает
Capacity, если она меньше аргумента.
Возвращает фактическую ёмкость после вызова.
Синтаксис
int capacity = list.EnsureCapacity(minCapacity);
Пример
Давайте зарезервируем место под 20 элементов:
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
List<int> nums = new List<int> {1, 2, 3, 4, 5};
nums.EnsureCapacity(20);
Console.WriteLine(nums.Capacity >= 20);
}
}
Результат выполнения кода:
True
Пример
Давайте проверим Count после EnsureCapacity:
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
List<int> nums = new List<int> {1, 2, 3, 4, 5};
nums.EnsureCapacity(100);
Console.WriteLine(nums.Count);
}
}
Результат выполнения кода:
5
Пример
Давайте вызовем EnsureCapacity на пустом списке:
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
List<int> nums = new List<int>();
nums.EnsureCapacity(8);
Console.WriteLine(nums.Capacity >= 8);
}
}
Результат выполнения кода:
True
Пример
Давайте не уменьшим Capacity, если запас уже больше:
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
List<int> nums = new List<int>(30);
nums.Add(1);
nums.EnsureCapacity(10);
Console.WriteLine(nums.Capacity >= 30);
}
}
Результат выполнения кода:
True
Смотрите также
-
свойство
Capacity,
которое растёт после резервирования -
метод
TrimExcess,
который убирает лишний запас -
метод
AddRange,
который быстрее без частых перераспределений -
класс
List,
который использует внутренний массив