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