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

Метод Collect

GC.Collect подсказывает сборщику поработать сейчас, но в обычном коде его редко вызывают. После вызова удобно проверить IsAlive слабой ссылки. Обзор - GC.

Синтаксис

GC.Collect();

Пример

Давайте вызвать сборку:

using System; class Program { static void Main() { GC.Collect(); Console.WriteLine("abcde"); } }

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

"abcde"

Пример

Давайте обнулить ссылку и собрать мусор:

using System; class Program { static void Main() { object obj = new object(); obj = null; GC.Collect(); Console.WriteLine("abcde"); } }

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

"abcde"

Пример

Давайте вызвать сборку перед проверкой слабой ссылки:

using System; class Program { static void Main() { object obj = new object(); var weak = new WeakReference(obj); obj = null; GC.Collect(); GC.WaitForPendingFinalizers(); GC.Collect(); bool res = weak.IsAlive; Console.WriteLine(res); } }

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

False

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

  • метод GetGeneration,
    поколение объекта
  • метод GetTotalMemory,
    оценка памяти
  • свойство IsAlive,
    жива ли цель
  • GC,
    класс сборщика
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить