У меня есть переменная или массив, которые мне больше не нужны. Как их уничтожить? Извините за вопрос noob.
Уничтожение переменной или массива в С#
Ответ 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 перед разыменованием вашего объекта.