Подтвердить что ты не робот

Уничтожение переменной или массива в С#

У меня есть переменная или массив, которые мне больше не нужны. Как их уничтожить? Извините за вопрос noob.

4b9b3361

Ответ 1

Нет. Просто дайте ссылку выйти из области действия, и она автоматически будет сборщик мусора.

Ответ 2

В .Net или любом собранном для мусора языке, вы просто освободите все ссылки, которые вы держите на этом объекте, и сборщик мусора в конечном итоге соберет его. Ex:

   int[] arr = new int[20];
   ....
   // when no longer needed set all references to null
   arr = null;
   // also creating a new object will release the old one automatically if there are no more references to it
   arr = new int[40]; // old array will be garbage collected

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

Ответ 3

в .NET Garbage Collector сделает это за вас! Но на самом деле это может зависеть от того, что вы имеете в виду, когда пишете, что вам больше не нужна ваша переменная

Ответ 4

У .NET есть встроенный сборщик мусора. Достаточно прекратить ссылаться на массив или переменную, когда вам это не нужно. Нет необходимости в явном вызове destroy.

Ответ 5

Garbage-Collector является awsome, но объект эффективно разрушается, когда Garbage-Collector собирает объекты, на которые не ссылаются больше: позже... Поэтому, если вам нужно, чтобы объект был удален немедленно, чтобы вызвать код destruct, вы должны реализовать интерфейс IDisposable и вызвать метод Dispose перед разыменованием вашего объекта.