Здравствуйте, _FRED_, Вы писали:
_FR>>>Ты же сам сообщением выше призывал всюду юзингом пользоваться!?
A>>Где это я "призывал всюду юзингом пользоваться"? Просмотрел свои сообщения еще раз — не нашел никаких призывов.
_FR>_FR>_Лично_я_ считаю, что вне блока using объект, в нем используемый, жить не должен. У него и область видимости-то должна быть ограничена этим блоком. Тогда using четко указывает область жизнь и использования объекта. На мой взгляд, это способствует простоте и понятности кода.
Хм. Специально выделенные слова "лично я" — это призыв всюду пользоваться using'ом? Был уверен, что это описание того, как _лично_я_ считаю правильным делать.
_FR>О том, что речь в этих словах идёт о каком-то конкретном юз-кейсе, а не о любом IDisposable-объекте мне, например, было не ясно :xz:
Постараюсь в будущем более четко формулировать свои мысли.
Кстати, когда я там предложил напрямую вызывать Dispose вместо using'а (который я якобы призывал использовать везде), тебя не насторожила такая непоследовательность? :)
A>>Понял, спасибо. Правда, есть сомнения в целесообразности подобного (именно со стримом) — с точки зрения производительности. Думаю, ненужная работа со пустым стримом может в некоторых случаях занять ощутимое время.
_FR>Например?
Например, запись в цикле в пустой стрим большого количества данных. Есть сомнения, что это будет сравнимо по времени со случаем, когда стрим проверяется на null и никакой записи не производится вообще. Особенно, если при этом записываемые данные вычисляются по ходу записи.
_FR>за счёт чего получится "ощутмость"?
За счет вызовов методов, которые ничего не делают. Понятно, что вызов метода это копеечные накладные расходы в общем случае. Но на фоне нулевых затрат времени и ресурсов на работу самого метода расходы на вызов этого метода все же не нулевые, особенно если метод виртуальный. А то, что мало, но не равно нулю, при "умелом" использовании вполне реально многократно увеличить до статистически значимых величин.
Это я не в плане поспорить, что эти копеечные затраты важны, и надо за них биться насмерть любыми способами, а в целях объяснения, за счет чего может получиться "ощутимость". То, что в большинстве случаев про это можно не думать, не означает, что про это думать не следует вообще. Иногда это может быть критично. Иногда.