Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> использование using 
:(
    Опции темы
Skalik
Дата 31.1.2009, 15:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 131
Регистрация: 20.3.2008
Где: Харьков

Репутация: нет
Всего: нет



всем привет!!
встретил вот такой код:
Код

using(Graphics g =CreateGraphics())
            {
                g.SmoothingMode = SmoothingMode.AntiAlias;
                g.DrawEllipse(_pen2, _conductor);
                g.FillEllipse(_brush3, _conductor);
            }
 
возник вопрос, что дает  использование using в этом случае??
потому что вот так работает также:
Код

                Graphics g =CreateGraphics();
                g.SmoothingMode = SmoothingMode.AntiAlias;
                g.DrawEllipse(_pen2, _conductor);
                g.FillEllipse(_brush3, _conductor);
 

PM MAIL ICQ   Вверх
proxeter
Дата 31.1.2009, 16:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 24.8.2008

Репутация: нет
Всего: нет



Насколько я понимаю такая конструкция используется для сокращения зоны видимости экземпляра g.
То есть после данной области Garbage Collector вправе без нареканий удалить данный экземпляр и освободить память, занимаемую им.
PM MAIL   Вверх
Любитель
Дата 31.1.2009, 16:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Программист-романтик
****


Профиль
Группа: Комодератор
Сообщений: 3645
Регистрация: 21.5.2005
Где: Воронеж

Репутация: 11
Всего: 92



Цитата(proxeter @  31.1.2009,  16:29 Найти цитируемый пост)
Насколько я понимаю такая конструкция используется для сокращения зоны видимости экземпляра g.

Вообщем-то верно - но не для этого.

Цитата(proxeter @  31.1.2009,  16:29 Найти цитируемый пост)
То есть после данной области Garbage Collector вправе без нареканий удалить данный экземпляр и освободить память, занимаемую им. 

Ну, он как раз вряд ли это будет спешить делать. Более того - даже не будет иметь на это права, если внутри юзинга мы присвоим "внешней" переменной наш g.

По теме - читаем документацию по юзингу/диспоузу и пр.. Данный код разворачивается в:
Код

try
{
    Graphics g =CreateGraphics();
    // ...
}
finally
{
    g.Dispose();
}


Это сообщение отредактировал(а) Любитель - 31.1.2009, 20:18


--------------------
PM MAIL ICQ Skype   Вверх
archeg
Дата 31.1.2009, 20:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 612
Регистрация: 6.1.2007
Где: Киев

Репутация: 11
Всего: 27



Цитата(proxeter @ 31.1.2009,  16:29)
Насколько я понимаю такая конструкция используется для сокращения зоны видимости экземпляра g.

Самое прикольное объяснение использования using, из тех которые я слышал  smile 


--------------------
ИМХО задница есть универсальный интерфейс. Ибо через задницу можно сделать абсолютно ВСЕ (bash.org.ru)

Дядька всегда можно спросить в аське, если не задалбывать - не откажет smile
И вообще, на самом деле я студент, и ненавижу обращение на "Вы") Тут все свои  ;)
PM MAIL ICQ Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0422 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.