Для первого знакомства с языком C# (в рамках раздела «Основы языка C#») мы будем создавать консольные приложения, хотя большинство пользователей использует лишь оконные (Windows_Forms) приложения. При создании в IDE такого приложения (создайте сами, не бойтесь экспериментировать, только в этом случае будет успех!) формируется файлы Program.cs и Form1.cs (вызовы библиотек типа using System и using System.Windows.Forms для краткости удалены):
Текст Program.cs:
namespace WindowsFormsApplication1 { static class Program { /// <summary> /// Главная точка входа для приложения. /// </summary> [STAThread] static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new Form1()); } } }
В нем также объявляется класс Program (помечен как статический — static). Обратим пока внимание в нем на строчку Application.Run(new Form1()); , необходимую для запуска следующего файла.Form1.cs:
namespace WindowsFormsApplication1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } } }
Заметим, что в пространстве имен объявляется класс Form1, наследуемый от класса Form (наследование указывается через двоеточие), а в нем уже не статическая функция Form1() — «конструктор класса», в теле которого вызывается функция, инициализирующая компоненты формы.
Однако, в отличие от консольного приложения, Windows-приложение не будет выполняться, пока какие-либо действия не предпримет пользователь.
И так, консольное приложение должно быть активным само по себе (говорят об «интерактивном режиме»), если необходимо, запрашивать у пользователя исходные данные, обрабатывать их и сообщать результаты. Конечно, можно реализовать и выбор действий в форме меню, но это будет отдельной заботой программиста.
Управление Windows-приложением основано на понятии события (event), которые могут создаваться как пользователем, так и возникать в процессе выполнения приложения. То есть, принцип «один вход — один выход» здесь не применим. Но об этом — позже.
Ограничимся пока этими двумя видами проектов.
Обсудим тему комментариев в C# или перейдем к важнейшей теме «Типы данных в языке C#».
NEW: Наш Чат, в котором вы можете обсудить любые вопросы, идеи, поделиться опытом или связаться с администраторами.