Как работает сборщик мусора с неуправляемыми типами

88
06 апреля 2022, 14:40

Знаю что сборщик мусора очищает только управляемые типы в управляемой куче. Для неуправляемых есть интерфейс IDisposable. Но всегда считал что неуправляемые типы это например потоки, соединения с бд и т.п. Но в документации microsoft сказано что неуправляемыми типами являются следующие:

sbyte, byte, short, ushort, int, uint, long, ulong, char, float, double, decimal или bool.

Типы хранящие свои значения в стеке. Всегда почему то думал что они тоже должны собираться сборщиком мусора. Подскажите пожалуйста они действительно собираются сборщиком мусора или их нужно самому как то очищать из памяти? Вот ссылка на ресурс где говорится что эти типы являются неуправляемыми.

https://docs.microsoft.com/ru-ru/dotnet/csharp/language-reference/builtin-types/unmanaged-types

Update: Приведите пожалуйста примеры управляемых и неуправляемых ресурсов для которых нужно использовать IDisposable?

READ ALSO
Почему нету результата в моем коде C#?

Почему нету результата в моем коде C#?

сделал метод Cycle и все переменные статическими, чтобы можно было вызывать без создания объекта класса Program

206
Обработка удержания Button C# UWP

Обработка удержания Button C# UWP

В общем есть элемент Button и его событие ClickНужно прибавлять к счётчику число, но т

146
Как изменить List<> из другого скрипта?

Как изменить List<> из другого скрипта?

В Script1 имеется список cubeList, который постоянно добавляет в себя объекты (например, по 1 кубу в секунду)

182
(C#, Unity)Как заблокировать управление?

(C#, Unity)Как заблокировать управление?

Вот у меня есть код(Без смеха):

243