Знаю что сборщик мусора очищает только управляемые типы в управляемой куче. Для неуправляемых есть интерфейс 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?
Сборка персонального компьютера от Artline: умный выбор для современных пользователей