Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.62/21: Рейтинг темы: голосов - 21, средняя оценка - 4.62
13 / 13 / 1
Регистрация: 24.06.2011
Сообщений: 135

Нужно ли объекту присваивать null после использования метода Dispose()?

14.01.2014, 18:32. Показов 4393. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет!
Извиняюсь за глупый вопрос, но вот сомнение возникло, после использования метода Dispose() нужно объекту присваивать null?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
14.01.2014, 18:32
Ответы с готовыми решениями:

Присвоение экземпляру объекта значения null вместо вызова метода Dispose()
Я осуществляю загрузку определённого текстового и бинарного контента с удалённых web-ресурсов. Мне нужно предусмотреть вариант, когда...

Нужно ли при удалении динамического массива присваивать NULL?
Вот создал я динамический массив N на M: int **mas; mas=new int*; for(i=0;i<n;i++) mas=new int; А вот его удаление: ...

Почему допустимо создавать объект по другому объекту, но нельзя присваивать уже созданный объект, другому созданному объекту?
Это можно : Array a(10); a.set(0,5); Array b(a); А это нельзя : Array a(10); Array b(20); a = b;

10
Эксперт .NET
 Аватар для kolorotur
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
14.01.2014, 19:02
Dispose — это просто метод, он может вообще пустым быть.

Потому если объект больше не нужен, а ссылка на него может еще жить долго, то присваивайте.
0
Администратор
Эксперт .NET
 Аватар для tezaurismosis
9674 / 4826 / 763
Регистрация: 17.04.2012
Сообщений: 9,664
Записей в блоге: 14
14.01.2014, 20:49
Ivan76, если после Dispose() нужно присваивать null, то Dispose() не выполняет своих предполагаемых обязанностей. Так что - или писать Dispose так, чтобы не нужно было ещё что-то делать или не использовать его.
0
49 / 49 / 2
Регистрация: 17.07.2011
Сообщений: 318
15.01.2014, 09:06
Если ссылка корневая, то есть как сказал уважаемый kolorotur может существовать долго, соответственно управляемые ресурсы так же будут висеть в памяти, то лучше присвоить null, или вновь созданный объект.
0
13 / 13 / 1
Регистрация: 24.06.2011
Сообщений: 135
15.01.2014, 16:59  [ТС]
Ну вот например у сокета есть метод Dispose() который освобождает управляемые и неуправляемые ресурсы, значит что бы вообще покончить с этим объектом я делаю так?

C#
1
2
3
4
Socket soc = new Socket();
...
soc.Dispose();
soc = null;
0
438 / 362 / 100
Регистрация: 29.06.2010
Сообщений: 981
Записей в блоге: 1
15.01.2014, 17:03
Цитата Сообщение от Ivan76 Посмотреть сообщение
я делаю так?
Можно так, а можно и вот так

C#
1
2
3
4
using(Socket soc = new Socket())
{
...
}
0
 Аватар для kesean
292 / 291 / 108
Регистрация: 04.09.2010
Сообщений: 638
15.01.2014, 22:38
Цитата Сообщение от Ivan76 Посмотреть сообщение
soc.Dispose();
soc = null;

Не по теме:

И контрольный в голову GC.Collect(); :)

1
13 / 13 / 1
Регистрация: 24.06.2011
Сообщений: 135
16.01.2014, 08:16  [ТС]
Всем спасибо)) Но вообще у меня 7 лет опыта программирования на C# и только сейчас начинаешь задумываться "а так ли программируешь"
0
16.01.2014, 08:35

Не по теме:

Цитата Сообщение от Ivan76 Посмотреть сообщение
Всем спасибо)) Но вообще у меня 7 лет опыта программирования на C# и только сейчас начинаешь задумываться "а так ли программируешь" :)
Прочтите Рихтера уже наконец.

1
49 / 49 / 2
Регистрация: 17.07.2011
Сообщений: 318
16.01.2014, 09:19
Нужно хоть немного знать низкоуровневую логику, тогда всё проще.
0
Эксперт Java
 Аватар для turbanoff
4094 / 3828 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 12
16.01.2014, 10:24
Для локальных переменных в таком действии мало смысла. Для поля - может быть.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
16.01.2014, 10:24
Помогаю со студенческими работами здесь

Можно ли переменной или элементу массива присваивать NULL
Написал программу для двумерного массива целых чисел размера m*n , которая находит z = min + max, где min — наименьший элемент среди всех...

Использование метода Dispose()
Когда нужно использовать Dispose();? Как правильно его использовать? :)

Нужно ли уничтожать объекты после их использования?
Всегда считал, что после выполнения php скрипта, все его объекты (переменные, массивы и т.д.) уничтожаются и память освобождается. ...

Нужно ли удалять массивы после их использования?
В общем вопрос в названии темы.

DataReport. Нужно ли уничтожать его после использования?
Может ламерски прозвучит, но надо ли после использования репорта его уничтожать явно?? то есть прописывать где нибудь Set...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
1С: Контроль уникальности заводского номера
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью. Данные берутся из регистра сведений, по которому настроено. . .
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
1С: Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
1С: Программный отбор элементов справочника по значению перечисления
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит значение перечислений. / / Событие "НачалоВыбора" реквизита на форме. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru