Структура программы и ход выполнения
Обновлен: Ноябрь 2007
При создании приложения C# нужно выбрать его тип: консольное приложение или приложение Windows Forms. Кроме различий в типе пользовательского интерфейса, они могут также отличаться ходом своего выполнения.
Приложения Windows Forms
В типичном приложении Windows с графическим пользовательским интерфейсом большая часть действий после первоначального запуска происходит в ответ на действия пользователя, таких как перемещение мыши, выбор пункта меню или ввод текста. Такие события вызывают срабатывания триггера и вызов особых методов, называемых обработчиками событий. Практически все, что делает программа Windows инициируется обработчиком событий. При отсутствии событий программа бездействует.
В отличие от процедурных языков программирования, таких как COBOL, BASIC или FORTRAN, здесь используется событийно управляемая модель. Наиболее фундаментальное различие в событийно управляемом программировании состоит в том, что другое программное обеспечение и сама операционная система вызывают методы обработчиков событий в приложении пользователя. Неизвестно, какие методы они вызовут. Можно решить, какие события обрабатывать в приложении, но нельзя узнать точный порядок, в котором они будут происходить.
В типичном приложении Windows поля, массивы и коллекций, хранящие сведения о состоянии приложения, находятся в основном классе Form, имеющем по умолчанию имя Form1. В области действия класса эти члены доступны из всех методов обработчиков событий, реализованных в том же классе Form. При вызове обработчик событий может изменить что-то в данных приложения и после завершения его работы приложение вернется в состояние ожидания. Например, форма может содержать элемент TextBox и кнопку Обновить. Когда пользователь нажимает кнопку обработчик событий приложения может взять текст из TextBox и затем, к примеру, добавить его в список других строк, которые хранятся в области действия класса. После добавления строки приложение вернется в состояние ожидания. В ответ на пользовательский ввод другие обработчики событий могут осуществлять иные виды действий с тем же списком строк.
Пользовательские классы могут отправлять и получать события, используя те же механизмы, что и Windows Forms. Дополнительные сведения см. в разделе Делегаты (руководство по программированию на C#).
Консольные приложения
Во многих консольных приложениях ход выполнения идет от оператора к оператору, пока не будет достигнут конец программы и приложение завершит работу. Конечно, это не всегда так, потому что консольное приложение также может управляться с клавиатуры и системных событий, которые генерируются объектами, такими как таймеры и сетевые соединения. Простое консольное приложение часто состоит только из одного класса, который содержит метод Main. Однако более сложные приложения могут содержать любое число классов.
Дополнительные сведения
Наилучшим способом ознакомиться со структурой программ C# является изучение примеров кода в разделе Примеры Visual C# в Центр разработчиков Visual C# или где-то еще в Интернете.
См. также
Задачи
Практическое руководство. Создание нового приложения Visual C# Express