В C ++ можно использовать ключевое слово delete . И это было первоначально упомянуто в этом комментарии и в других комментариях. История редактирования показывает это. Это жизнеспособно (хотя и побочный ответ), даже если другие не понимают, почему. Я говорю это потому, что его можно использовать, чтобы найти собственное элегантное решение, если они понимают более одного языка.
В .NET / MSIL у вас есть ключевое слово delete, но оно называется variablename .Dispose (). Я предлагаю это, потому что он удаляет все ссылки на переменную и переводит ее в состояние готовности к сборке мусора. Другой вариант - установить переменную равной null , так как она сохранит переменную как типизированный объект, но освободит то, что она содержала для сборки мусора, чтобы ее можно было переназначить позже.
Оригинальный комментарий / ответ:
Сборка мусора для C # отличная и все, но иногда вам действительно нужно удалить переменную из памяти и создать ее новый экземпляр, без какой-либо другой части вашей программы, поддерживающей ее работу. Можно потенциально перевести существующий кусок памяти, удерживаемый массивом, в состояние GC, указав массив на новый фрагмент памяти, такой как:
aMyArray = new int[];
Однако главная проблема, которую я могу видеть таким образом, заключается в том, что вы действительно не хотите тратить кучу памяти, а затем все останавливается, когда GC запускается из-за того, что ОС волнуется. Я придерживаюсь этой мысли, учитывая, что C Sharp теперь является основным языком и используется в МНОЖЕСТВЕ различных приложений, включая написание игр ... Было бы действительно хорошо, если бы C Sharp не действовал подобно ActionScript / FLASH в этом уважение.