44 / 44 / 28
Регистрация: 06.07.2011
Сообщений: 353
|
||||||||||||||||
1 | ||||||||||||||||
Удаление объекта из листа, когда объект становится null13.03.2016, 16:01. Показов 2068. Ответов 3
Метки нет (Все метки)
Всем привет.
Есть класс, допустим это клетка на поле
Затем я создаю несколько клеток и связываю их:
Но этого не происходит. Что же я делаю не так? Необходимо при удалении объекта (=null) чтобы он занулился, в листах, у других объектов. Необходимо решить задачку не перебирая каждую клетку в цикле. (те нужно пользоваться ссылками, как я понимаю) (Ибо клеток может быть очень много, и каждую вот так перебирать..) Возможно мне нужен не лист? Подскажите пожалуйста
0
|
13.03.2016, 16:01 | |
Ответы с готовыми решениями:
3
Не создаётся объект когда один из параметров null Ссылка на объект не указывает на экземпляр объекта (dataGridView1 было null) Как проверить null или сылка на объект не указывает на экземпляр объекта Какое событие происходит когда в форме один объект входит в область другого объекта? |
979 / 874 / 350
Регистрация: 26.04.2012
Сообщений: 2,647
|
|
13.03.2016, 16:09 | 2 |
На каком основании? Если вы где-то присвоили null какой-то ссылке на какой-то объект, это никак не повлияет на сам объект и другие ссылки на него. У сборщика тоже нет причин удалять объект, пока на него есть хоть одна живая ссылка. И уж тем более, у листа нет никаких причин из себя что-то удалять. Вы можете в классе клетки,например, ввести какое-нибудь свойство, а потом, когда вы обходите те листы, удалять из них клетки, у которых значение этого свойства соответствующее. Либо вообще менять принцип работы данного класса(я не знаю ТЗ, так что ничего тут не скажу)
0
|
44 / 44 / 28
Регистрация: 06.07.2011
Сообщений: 353
|
|
13.03.2016, 16:19 [ТС] | 3 |
Я присвоил null объекту, ссылка на который есть в листе. А значит и в листе должен появиться null (ссылка никуда больше не ведет)
0
|
979 / 874 / 350
Регистрация: 26.04.2012
Сообщений: 2,647
|
||||||
13.03.2016, 16:56 | 4 | |||||
objaa, вы присвоили null не объекту, а ссылке. Объекту вы ничего присвоить таки образом не можете, вы его можете его только создать и менять внутри созданного объекта какие-то поля. А присвоение ссылке null-означает лишь то, что ссылка больше ни на что не ссылается. На сам объект это никак не повлияло-он остался существовать в памяти, и все другие ссылки продолжают работать. А сборщик удалит его только тогда, когда на него не останется ни одной ссылки. Вот вам наглядный пример:
С тем же успехом вы могли бы написать вместо ref1 = null; , допустим, ref1 = new MyClass(); . Объект бы тоже от этого никак не изменился-просто теперь первая и вторая ссылка указывали бы на разные объекты.
0
|
13.03.2016, 16:56 | |
13.03.2016, 16:56 | |
Помогаю со студенческими работами здесь
4
Удаление из XML фаила Node: Ссылка на объект не указывает на экземпляр объекта Сервер отправляет объект не null, а клиент принимает null Публичная переменная становится не null После вывода из php js кода он становится null/undefined Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |