Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
8 / 8 / 3
Регистрация: 28.08.2013
Сообщений: 91
1

Слово using (синтаксис C#)

28.08.2013, 13:35. Показов 1028. Ответов 11
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Я знаю, что using обычно пишется сверху документа, дабы получать более быстрый доступ к классам других пространств имён. Но недавно я увидил такой код:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
using (PrintDialog pd = new PrintDialog())
            {
                pd.ShowDialog();
 
                ProcessStartInfo info = new ProcessStartInfo(@"D:\documents\filetoprint.doc");
 
                info.Verb = "PrintTo";
                info.Arguments = pd.PrinterSettings.PrinterName;
 
                info.CreateNoWindow = true;
 
                info.WindowStyle = ProcessWindowStyle.Hidden;
 
                Process.Start(info);
Поясните, какую роль здесь выполняет слово using?
1
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.08.2013, 13:35
Ответы с готовыми решениями:

Как перевести синтаксис макроса VBA (Excel) в синтаксис Visual FoxPro
Здравствуйте! Скажите пожалуйста, как перевести синтаксис записанного макроса в excel в синтаксис...

Как перевести синтаксис Intel в синтаксис AT&T? (ассемблерная вставка в СИ)
Извиняюсь, что, возможно, пишу не в ту тему. Нужен именно AT&T синтаксит. В качестве примера для...

Синтаксис запросов vs. синтаксис методов
Занимаюсь изучением LINQ'a, и возник вопрос, как переписать следующий запрос IEnumerable<int>...

В тексте заменить слово А(любое слово) на слово В(любое слово). А и В разной длинны
Не могу сообразить как написать программу: Пользователь вводит текст Необходимо замениь слово...

11
1245 / 1055 / 293
Регистрация: 07.03.2012
Сообщений: 3,245
28.08.2013, 13:37 2
для освобождения ресурсов PrintDialog. Любой класс реализующий IDisposable, можно использовать таким образом и не освобождать вручную ресурсы
2
184 / 184 / 29
Регистрация: 14.04.2013
Сообщений: 499
28.08.2013, 13:37 3
При подключении пространства имен используется директива using.А в указанном вами случае это оператор,вот почитайте,что MSDN по этому поводу пишет.
2
andrew_w2k
28.08.2013, 13:43
  #4

Не по теме:

using так же для алиасов используется

1
8 / 8 / 3
Регистрация: 28.08.2013
Сообщений: 91
28.08.2013, 13:47  [ТС] 5
Цитата Сообщение от Монфрид Посмотреть сообщение
для освобождения ресурсов PrintDialog. Любой класс реализующий IDisposable, можно использовать таким образом и не освобождать вручную ресурсы
А зачем их вообще освобождать? О_о
0
Эксперт .NET
17688 / 12873 / 3366
Регистрация: 17.09.2011
Сообщений: 21,138
28.08.2013, 14:17 6
Лучший ответ Сообщение было отмечено как решение

Решение

Цитата Сообщение от Dmitry_PS Посмотреть сообщение
А зачем их вообще освобождать? О_о
А займите мне 1000р? Только я вам их не верну — зачем? О_о
4
8 / 8 / 3
Регистрация: 28.08.2013
Сообщений: 91
28.08.2013, 14:34  [ТС] 7
Просто я не догоняю, зачем нужны "классы реализующие IDisposable"???
0
324 / 307 / 59
Регистрация: 06.03.2013
Сообщений: 869
28.08.2013, 14:37 8
Цитата Сообщение от Dmitry_PS Посмотреть сообщение
Просто я не догоняю, зачем нужны "классы реализующие IDisposable"???
Чтоб они могли сами освобождать занятые ресурсы. А ресурсы надо освобождать чтоб они не были заняты, чтоб место в памяти не занимали, например.
http://msdn.microsoft.com/ru-r... sable.aspx
1
8 / 8 / 3
Регистрация: 28.08.2013
Сообщений: 91
28.08.2013, 14:41  [ТС] 9
Аааааа... Кажется до меня дошло!
То есть, если бы я не использовал using, то мне бы пришлось вручную писать pd.Dispose(); ?
0
Master of Orion
Эксперт .NET
6098 / 4954 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
28.08.2013, 14:42 10
Dmitry_PS, сборщик мусора не всегда знает, что и как освобождать. Скажите спасибо, что это не С++, где на каждый чих нужно new и delete, и еще более глубокое спасибо, что это не С, где нужно писать
C
1
MyStruct* myStructs = (MyStruct*) malloc(sizeof(MyStruct)*100)
1
324 / 307 / 59
Регистрация: 06.03.2013
Сообщений: 869
28.08.2013, 14:43 11
Цитата Сообщение от Dmitry_PS Посмотреть сообщение
Аааааа... Кажется до меня дошло!
То есть, если бы я не использовал using, то мне бы пришлось вручную писать pd.Dispose(); ?
Да. В msdn же написано, вам ссылку давали выше (не я).
http://msdn.microsoft.com/ru-r... 90%29.aspx
1
8 / 8 / 3
Регистрация: 28.08.2013
Сообщений: 91
28.08.2013, 14:50  [ТС] 12
всё. Всем спс! Можно закрывать)
Просто я в msdn смотрю как в офишу коза
0
28.08.2013, 14:50
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.08.2013, 14:50
Помогаю со студенческими работами здесь

Найти самое короткое слово, начинающееся с буквы "А", и заменить это слово на первое слово строки
Строка символов. Надо найти кратчайший слово начинающееся с буквы "А" и надо заменить это слово на...

В заданном предложении поменять местами первое слово и самое длинное слово
Кто-нибудь, помогите решить задачи на Lazarus или Delphi! 1. В заданном предложении поменять...

Функция меняющая местами последнее слово строки на слово с указанным номером
Помогите сделать функцию,которая в указанной строке меняет местами последнее слово и слово,номер...

Найти в файле слово по заданному началу, вывести слово и его позицию
Найти в файле слово по заданному началу, вывести слово и его позицию


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru