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

Метод TrimExcess

Метод TrimExcess класса List<T> сжимает внутренний буфер до текущего Count, если запас существенно больше числа элементов.

Синтаксис

list.TrimExcess();

Пример

Давайте ужмём список после заполнения:

using System; using System.Collections.Generic; class Program { static void Main() { List<int> nums = new List<int>(20); nums.AddRange(new[] {1, 2, 3, 4, 5}); nums.TrimExcess(); Console.WriteLine(nums.Count); Console.WriteLine(nums.Capacity >= nums.Count); } }

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

5 True

Пример

Давайте вызовем TrimExcess на плотном списке:

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

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

5

Пример

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

using System; using System.Collections.Generic; class Program { static void Main() { List<int> nums = new List<int>(50); nums.AddRange(new[] {1, 2, 3, 4, 5}); nums.RemoveRange(2, 3); nums.TrimExcess(); Console.WriteLine(nums.Count); } }

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

2

Пример

Давайте проверим список строк:

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

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

5

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

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