|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
31.10.2008, 00:08 | #1 |
Форумчанин Подтвердите свой е-майл
Регистрация: 20.11.2007
Сообщений: 500
|
Как уничтожить объект в C#
Необходимо уничтожить объект, но не знаю как это делается...
в делфи например делаю так label1.Free(); а как на C#?? |
31.10.2008, 03:09 | #2 |
Форумчанин
Регистрация: 12.09.2008
Сообщений: 239
|
метод Dispose()
Надо бы избавиться от привычки ставить многоточие.....
|
31.10.2008, 13:39 | #3 |
.NET-чик
Форумчанин
Регистрация: 24.03.2007
Сообщений: 569
|
Вообще-то .NET CLR чистит за вас память. GC - сборщик мусора пристально следить за всеми объектами и если на какой-то объект нет ссылок, объект удаляется из памяти
"Разработка под веб - как работа с пылесосом: нихрена не прикольно, но засасывает"
Мо маленький городок |
01.11.2008, 00:05 | #4 |
Форумчанин Подтвердите свой е-майл
Регистрация: 20.11.2007
Сообщений: 500
|
У меня дело обстоит немного по другому.
У меня есть свой класс, в нем нет у меня инструктора, в нем есть только конструктор, несколько переменных и объект класса PictureBox (вот его то и надо в первую очередь уничтожить чтобы создать новый...). Так же у меня есть массив объектов этого класса. В процессе работы программы есть необходимость уничтожить все объекты в массиве и создать их заново... |
03.11.2008, 07:58 | #5 |
Форумчанин
Регистрация: 12.09.2008
Сообщений: 239
|
смею немного вас поправить...... не инструктор а деструктор..... а теперь по делу.... если вам надо уничтожить объект, а на его месте создать другой, то вы можете просто присвоить его переменной указателю новый объект...... прошлый объект останется без указателя и автоматически уничтожится "сборщиком мусора".......
Пример: Код:
pict1=null; //также удалит объект
Надо бы избавиться от привычки ставить многоточие.....
Последний раз редактировалось Min; 03.11.2008 в 08:00. |
30.10.2014, 23:24 | #6 |
Новичок
Джуниор
Регистрация: 30.10.2014
Сообщений: 1
|
Возникла та же проблема, пытаюсь решить так:
Код:
Код:
т.е. переменная не обнуляется |
30.10.2014, 23:49 | #7 |
Старожил
Регистрация: 03.01.2014
Сообщений: 2,870
|
parser, нельзя объявить переменную дважды в одной и той же области видимости (как сделано в Вашем коде), но ей можно просто напросто присвоить другое значение.
Код:
P.S. А, вообще нечего себе некропост. Особенно, если посмотреть на даты предыдущих постов. |
30.10.2014, 23:54 | #8 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
И чего? Не надо ее объявлять заново, просто regex = something;
Не путайте память занятую объектом и ссылку на него, эта тема о первом. (и то автор себе какие-то странные проблемы придумал не услышав о GC. Впрочем у PictureBox, как и у всех контролов, есть Dispose, который можно и вызвать, видимо реализовав IDisposable в классе автора, создающем PictureBox, но и без этого он вроде должен вызваться через финализатор при работе GC) и Код:
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. Последний раз редактировалось Alex11223; 31.10.2014 в 00:05. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как убрать/уничтожить с формы компонент TImage? | ZhekON | Общие вопросы Delphi | 11 | 11.03.2008 17:28 |
Как передать объект по наследству | Legat | Win Api | 6 | 03.11.2007 11:19 |
как внедрить 'объект' в программу? | steck | Общие вопросы Delphi | 1 | 07.04.2007 17:20 |