Структура программы C# (Visual C#)
Обновлен: Ноябрь 2007
Чтобы понять принципы работы программы C#, давайте рассмотрим традиционную программу "Hello World!" и разберем каждую строку ее кода на C#. Для создания собственной версии этой программы см. раздел Практическое руководство. Создание консольного приложения C#, являющийся пошаговым руководством по написанию, построению и выполнению похожих приложений C#.
"Hello World" в стиле C#
Для упорядочения и оформления кода в языке C# используются классы. В действительности весь выполняемый код C# должен содержаться в классе, что справедливо и для короткой программы типа "Hello World!". Ниже приведен полный текст программы, отображающей в окне консоли сообщение "Hello World!".
// A Hello World! program in C#
using System;
namespace HelloWorld
{
class Hello
{
static void Main()
{
System.Console.WriteLine("Hello World!");
// Keep the console window open in debug mode.
System.Console.WriteLine("Press any key to exit.");
System.Console.ReadKey();
}
}
}
Директивы using и пространства имен
При создании консольного приложения с Visual C#, экспресс-выпуск, в первой линии в редакторе кода содержится директива using с перечислением нескольких пространств имен .NET Framework. Пространство имен позволяет, в некотором смысле, сгруппировать вместе классы и структуры, что ограничивает их область действия и позволяет избежать конфликта имен с другими классами и структурами. При создании программы в Visual C# Express пространство имен создается автоматически. Для использования в программе классов из других пространств имен необходимо указать их с директивой using. При создании нового приложения наиболее часто используемые пространства имен .NET Framework включены в список по умолчанию. При использовании классов из других пространств имен в библиотеке классов необходимо добавить директиву using для пространства имен к исходному файлу. Дополнительные сведения о пространствах имен см. в разделе Пространства имен.
Когда редактор кода определит, что объявленный класс или структура не встречается в пространствах имен из текущего списка директивы using, он предложит пространство имен, содержащее этот класс или структуру.
Примечания
Следующая после оператора using строка содержит комментарий. Комментарии являются полезными для включения в них примечаний для себя или других программистов.
// A Hello World! program in C#
Символы // преобразуют остальную часть строки в комментарий. Можно также закомментировать блок текста, поместив его между символами /* и */, как в примере.
/* A "Hello World!" program in C#.
This program displays the string "Hello World!" on the screen. */
Для автоматического комментирования кода можно также использовать параметры форматирования. Дополнительные сведения см. в разделе Практическое руководство. Преобразование строк кода в комментарий (C# Express).
Классы
В C# классы используются для оформления кода: весь выполняемый код C# должен содержаться в классе Дополнительные сведения см. в разделе Классы.
Main()
- В программе на C# должен присутствовать метод Main, в котором начинается и заканчивается управление. В методе Main создаются объекты и выполняются другие методы. Метод Main является статическим методом, расположенным внутри класса или структуры. В предыдущем примере "Hello World!" он расположен в классе с именем Program .
Метод Main можно объявить одним из следующих способов:
Он возвращает значение void.
static void Main() { //... }
Он также может возвращать значение типа int.
static int Main() { //... return 0; }
Он может принимать аргументы, что может быть полезно для программ командной строки.
static void Main(string[] args) { //... }
или
static int Main(string[] args) { //... return 0; }
Параметр метода Main является массивом значений типа string, представляющим аргументы командной строки, используемые для вызова программы. Обратите внимание, что в отличие от C++, массив не содержит имя исполняемого (EXE) файла. Дополнительные сведения см. в разделе Main() и аргументы командной строки (Руководство по программированию в C#).
Консольный ввод и вывод
Программы консоли на C# обычно используют службы ввода/вывода, предоставляемые классом .NET Framework Console. Оператор Console.WriteLine("Hello, World!"); использует метод WriteLine. Он выводит свой строковый параметр в окно командной строки с новой строки. Другие методы Console используются для различных операций ввода и вывода. Класс Console является членом пространства имен System. Если в начало программы поместить директиву using System;, то нужно будет указать классы System, как в следующем примере.
System.Console.WriteLine("Hello World!");
Метод WriteLine очень полезен и часто используется при создании консольных приложений.
Метод WriteLine может отображать строки.
Console.WriteLine("Hello World!");
Метод WriteLine может также отображать числа.
int x = 42;
Console.WriteLine(x);
Если необходимо отобразить несколько элементов, используйте {0} для представления первого элемента, {1} — для второго элемента и так далее, следующим образом.
int year = 1066;
string battle = "Battle of Hastings";
Console.WriteLine("The {0} took place in {1}.", battle, year);
Результат будет выглядеть следующим образом.
The Battle of Hastings took place in 1066.
См. также
Задачи
Практическое руководство. Создание консольного приложения C#