Что такое сборщик мусора (Garbage Collection) в C#?
Этот вопрос проверяет понимание механизма управления памятью в .NET, особенно работы сборщика мусора (GC).
Короткий ответ
Сборщик мусора в C# автоматически управляет памятью, освобождая память, занятую объектами, которые больше не используются. Это помогает избежать утечек памяти и улучшает управление ресурсами.
Длинный ответ
Сборщик мусора (GC) является важной частью среды выполнения .NET (CLR) и занимается автоматическим управлением памятью. Когда объект больше не используется в программе (например, когда на него не осталось ссылок), сборщик мусора освобождает память, которую он занимал. Это важно для предотвращения утечек памяти.
В процессе работы GC наблюдает за управляемыми объектами, и когда память в куче превышает определенный порог или система сталкивается с нехваткой памяти, сборщик мусора автоматически запускается для освобождения неиспользуемых объектов.
Пример:
class Example
{
public static void Main()
{
var obj = new object(); // Объект в куче
// Когда obj выходит из области видимости, GC может освободить память
}
}В данном примере сборщик мусора может освободить память, занятую объектом, после того, как он выйдет из области видимости.