Метод GetGeneration
Только что созданный объект без
предшествующего
Collect
обычно в поколении 0.
После сборки номер может вырасти -
единственное число после
Collect в вывод не кладут.
Обзор -
GC.
Синтаксис
int generation = GC.GetGeneration(obj);
Пример
Давайте узнать поколение нового объекта:
using System;
class Program
{
static void Main()
{
object obj = new object();
int res = GC.GetGeneration(obj);
Console.WriteLine(res);
}
}
Результат выполнения кода:
0
Пример
Давайте сравнить два свежих объекта:
using System;
class Program
{
static void Main()
{
object a = new object();
object b = new object();
bool res = GC.GetGeneration(a) == GC.GetGeneration(b);
Console.WriteLine(res);
}
}
Результат выполнения кода:
True
Пример
Давайте проверить, что поколение неотрицательно:
using System;
class Program
{
static void Main()
{
object obj = new object();
bool res = GC.GetGeneration(obj) >= 0;
Console.WriteLine(res);
}
}
Результат выполнения кода:
True
Смотрите также
-
метод
Collect,
сборка мусора -
метод
GetTotalMemory,
оценка памяти -
GC,
класс сборщика -
WeakReference,
слабая ссылка