Термин "неуправляемый ресурс" обычно используется для описания чего-либо , не находящегося непосредственно под контролем сборщика мусора .Например, если вы открываете соединение с сервером базы данных, оно будет использовать ресурсы на сервере (для поддержания соединения) и, возможно, другие ресурсы, отличные от .net на клиентском компьютере, если поставщик не полностью записан в управляемом коде.
Вот почему для соединения с базой данных рекомендуется писать код следующим образом:
using (var connection = new SqlConnection("connection_string_here"))
{
// Code to use connection here
}
Поскольку это гарантирует, что .Dispose()
вызывается для объекта соединения, гарантируя, чтовсе неуправляемые ресурсы очищены.