Метод EnsureCapacity
Метод EnsureCapacity класса
Dictionary<TKey, TValue>
увеличивает внутренний буфер, если он
меньше аргумента. Возвращает фактическую
ёмкость. Count при этом не меняется.
Синтаксис
int capacity = map.EnsureCapacity(minCapacity);
Пример
Давайте зарезервируем место под 20 пар:
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
Dictionary<int, string> map = new Dictionary<int, string>
{
{1, "a"},
{2, "b"}
};
map.EnsureCapacity(20);
Console.WriteLine(map.Count == 2);
}
}
Результат выполнения кода:
True
Пример
Давайте проверить Count после EnsureCapacity:
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
Dictionary<int, string> map = new Dictionary<int, string>();
map.EnsureCapacity(100);
Console.WriteLine(map.Count);
}
}
Результат выполнения кода:
0
Пример
Давайте вызвать EnsureCapacity на пустой таблице:
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
Dictionary<int, string> map = new Dictionary<int, string>();
int cap = map.EnsureCapacity(8);
Console.WriteLine(cap >= 8);
}
}
Результат выполнения кода:
True
Смотрите также
-
метод
TrimExcess,
который убирает лишний запас -
метод
EnsureCapacity,
который резервирует место в списке -
свойство
Count,
которое не растёт от резервирования -
класс
Dictionary,
который хранит пары в хеш-таблице