Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
 Аватар для SaweR
29 / 29 / 4
Регистрация: 29.09.2009
Сообщений: 177

Это правда, что Close() и Clear() методы в .NET классах вызывают Dispose()?

25.07.2014, 17:24. Показов 1802. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет. Подскажите, пожалуйста:
1) Это правда, что Close() и Clear() методы в .NET классах вызывают Dispose()?
2) Блок using() используют только для классов которые имеют Dispose()?
3) Что будет если для классов типа Stream, FileStream, StreamWriter, SHA1 не вызывать Close()/ Clear() /Dispose()?
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
25.07.2014, 17:24
Ответы с готовыми решениями:

Методы Dispose и Close для Stream
Здравствуйте! На сайте msdn есть пример на переопределение стандартного потока и возврат его в исходное состояние. Подскажите,...

FileStream.Close(), FileStream.Dispose() - что использовать?
Здравствуйте! Использую в программе объект типа FileStream. Когда он становится ненужен, закрываю его методом Close(). Достаточно ли...

Close(); Dispose()
Подскажите, пожалуйста, имеет ли смысл вызывать и Close() и Dispose() по окончанию работы с потоком, например StreamWriter, StreamReader?

5
871 / 721 / 304
Регистрация: 15.04.2013
Сообщений: 2,047
Записей в блоге: 5
25.07.2014, 17:53
SaweR,
1) Если реализован IDisposable
2) Точнее для классов реализующих интерфейс IDisposable
3) Сборщик мусора всеравно уберет за вас. Но это не значит что так стоит делать, надо закрывать потоки.
1
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
25.07.2014, 18:04
SaweR,
1. Мне тяжело это признавать, но да, это правда
2. да
3. Будет утечка памяти.
1
Заблокирован
29.07.2014, 00:11
Это правда, что Close() и Clear() методы в .NET классах вызывают Dispose()?
Смотря каких.
Правила, предписывающего обязательно Dispose по Close, вроде нет.

Тем более полно анти-примеров с Clear.
Неужели, чтобы очистить какую-нибудь канву, ее надо выгрузить из памяти?
0
33 / 31 / 7
Регистрация: 16.08.2012
Сообщений: 126
29.07.2014, 10:23
1) неправда, тотже sqlconnection после вызова метода close, можно вызвать метод open.
после clear() можно дальше работать с объектом.
0
Эксперт .NET
 Аватар для kolorotur
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
29.07.2014, 15:42
Лучший ответ Сообщение было отмечено NickoTin как решение

Решение

Цитата Сообщение от SaweR Посмотреть сообщение
1) Это правда, что Close() и Clear() методы в .NET классах вызывают Dispose()?
Нет.

Цитата Сообщение от SaweR Посмотреть сообщение
2) Блок using() используют только для классов которые имеют Dispose()?
Да.

Цитата Сообщение от SaweR Посмотреть сообщение
3) Что будет если для классов типа Stream, FileStream, StreamWriter, SHA1 не вызывать Close()/ Clear() /Dispose()?
Неуправляемые ресурсы, используемые этими классами, не будут освобождены до тех пор, пока их не уничтожит сборщик.
То есть будут висеть в памяти неопределенное время.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
29.07.2014, 15:42
Помогаю со студенческими работами здесь

Что делают методы clear() и flush() класса fstream
Подскажите, что делают методы clear() и flush() класса fstream)

Методы Controls.Clear и Controls.Remove активируют форму. Можно ли это запретить?
При вызове методов Control.ControlCollection.Clear() и Control.ControlCollection.Remove(Control control) при динамическом обновлении...

Flush(), Close() или Dispose() для StreamReader?
Работаю с несколькими открытыми через StreamReader файлами - использовать using() не удобно. Какую функцию из вышеперечисленных лучше...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных через динамический список в справочнике
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru