Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
491 of 1492 menu
◀ ▶

Метод TrimExcess

Метод TrimExcess класса HashSet<T> сжимает внутренний буфер до размера, нужного для текущего числа элементов. Состав множества не меняется; метод возвращает void.

Синтаксис

set.TrimExcess();

Пример

Давайте ужать множество после массового добавления:

using System; using System.Collections.Generic; class Program { static void Main() { HashSet<int> nums = new HashSet<int>(); nums.EnsureCapacity(100); nums.Add(1); nums.Add(2); nums.Add(3); nums.TrimExcess(); Console.WriteLine(nums.Count); } }

Результат выполнения кода:

3

Пример

Давайте проверить, что элементы остались на месте:

using System; using System.Collections.Generic; class Program { static void Main() { HashSet<int> nums = new HashSet<int> {1, 2, 3, 4, 5}; nums.TrimExcess(); Console.WriteLine(nums.Contains(4)); } }

Результат выполнения кода:

True

Пример

Давайте ужать после удаления части элементов:

using System; using System.Collections.Generic; class Program { static void Main() { HashSet<string> items = new HashSet<string> {"a", "b", "c", "d", "e"}; items.EnsureCapacity(50); items.Remove("d"); items.Remove("e"); items.TrimExcess(); Console.WriteLine(items.Count); Console.WriteLine(items.Contains("a")); } }

Результат выполнения кода:

3 True

Смотрите также

  • метод EnsureCapacity,
    который заранее увеличивает ёмкость
  • метод Clear,
    который удаляет все элементы
  • метод TrimExcess,
    который ужимает список
  • свойство Count,
    которое не меняется после TrimExcess
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить