Найдено результатов: 2

Установка объектов на Null/Nothing после использования in .NET

Следует ли вам установить все объекты в null (Nothing в VB.NET), как только вы закончите с ними?

Я понимаю, что в .NET необходимо избавиться от любых экземпляров объектов, реализующих интерфейс IDisposable , чтобы освободить некоторые ресурсы, хотя объект все еще может быть чем-то после его удаления (отсюда свойство isDisposed в формах), поэтому я предполагаю, что он все еще может находиться в памяти или, по крайней мере, частично?

Я также знаю, что когда объект выходит из области видимости, он помечается для сбора, готового к следующему проходу сборщика мусора (хотя это может занять некоторое время).

Таким образом, имея это в виду, будет ли установка его в null ускорить систему освобождения памяти, как это не должно работать, что он больше не находится в области и есть ли какие-либо плохие побочные эффекты?

MSDN статьи НИКОГДА не делают этого в примерах, и в настоящее время я делаю это так, как не могу видишь, какой вред. Однако я столкнулся со смешением мнений, поэтому любые комментарии полезны.

c#   .net   vb.net   memory-management   null    

528   14   16:03, 1st July, 2020


C# доступ к базе данных: DBNull vs null

У нас есть свой ORM, который мы используем здесь, и предоставляем строго типизированные оболочки для всех наших таблиц БД. Мы также допускаем выполнение слабо типизированного ad-hoc SQL, но эти запросы все равно проходят через один и тот же класс для получения значений из считывателя данных.

При настройке этого класса для работы с Oracle мы столкнулись с интересным вопросом. Лучше ли использовать DBNull.Value, или null? Есть ли какие-то преимущества в использовании DBNull.Value? Кажется, что больше "correct" использовать null, так как мы отделили себя от мира DB, но есть последствия (вы не можете просто слепо ToString() , когда значение null, например), так что это определенно то, что нам нужно сделать сознательное решение.

c#   orm   null   dbnull    

493   4   23:38, 17th August, 2020