Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > Unity > Общие вопросы

Общие вопросы вопросы не попадающие ни в один из доступных разделов

Ответ
 
Опции темы
Старый 22.04.2015, 20:31   #1
ILonion
ПроЭктировщик
 
Регистрация: 02.10.2014
Сообщений: 102
Написано 5 полезных сообщений
(для 25 пользователей)
Уничтожить объект

Доброго времени!
Подскажите как в C# принудительно-директивно уничтожить объект (аналог блитца и си++ <delete>), не дожидаясь автоматического "сбора мусора" ?
Чтобы стереть его здесь и сейчас.
(Offline)
 
Ответить с цитированием
Старый 22.04.2015, 20:42   #2
h1dd3n
Бывалый
 
Аватар для h1dd3n
 
Регистрация: 19.06.2008
Сообщений: 679
Написано 264 полезных сообщений
(для 450 пользователей)
Ответ: Уничтожить объект

var a = new SomeClass();
a = null;
GC.Collect();

Тем не менее принудительный вызов GC.Collect() антипаттерн и вообще может сильно ударить по производительности. CLR лучше знает когда пора произвести чистку.

И зачем тебе вообще именно удалять объект ? Какой профит ты хочешь с этого поиметь ?
__________________
(Offline)
 
Ответить с цитированием
Старый 22.04.2015, 21:46   #3
ILonion
ПроЭктировщик
 
Регистрация: 02.10.2014
Сообщений: 102
Написано 5 полезных сообщений
(для 25 пользователей)
Ответ: Уничтожить объект

h1dd3n, спасибо!
Я мыслю blitz-ем: всегда в алгоритмах использовал delete n, чтобы получить актуальный список. По-видимому, я вообще мыслю неправильно в данном случае с C#.
В книге, что у меня под рукой, указываются только "сборщик мусора" и деструкторы (которые также не гарантируют "здесь и сейчас").
Теперь, как я понимаю, после a = null; переменная теряет ссылку на объект, что легко проверять через if, и "сборщик" в свое время удалит "безссылочный" объект сам.
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 02:48.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com