В файлах с исходным текстом программ на C# условно принято расширение . cs, и это условие вы должны соблюдать. Кроме того, многие программисты называют файлы с исходным текстом своих программ по имени основного класса, определенного в программе. Именно поэтому в рассматриваемом здесь примере было выбрано имя файла Example. cs. Но поскольку имена программ на C# могут быть произвольными, то они не указываются в большинстве примеров программ, приведенных в настоящей книге. Поэтому вы вольны сами выбирать для них имена.
Итак, анализируемая программа начинается с таких строк.
/*
Это простая программа на С#.
Назовем ее Example.cs.
*/
Эти строки образуют комментарий. Как и в большинстве других языков программирования, в C# допускается вводить комментарии в файл с исходным текстом программы. Содержимое комментария игнорируется компилятором. Но, с другой стороны, в комментарии дается краткое описание или пояснение работы программы для всех, кто читает ее исходный текст. В данном случае в комментарии дается описание программы и напоминание о том, что ее исходный файл называется Example. cs. Разумеется, в комментариях к реальным приложениям обычно поясняется работа отдельных частей программы или же функции конкретных средств.
В C# поддерживаются три стиля комментариев. Один из них приводится в самом начале программы и называется многострочным комментарием. Этот стиль комментария должен начинаться символами /* и оканчиваться символами */. Все, что находится между этими символами, игнорируется компилятором. Как следует из его названия, многострочный комментарий может состоять из нескольких строк.
Рассмотрим следующую строку программы.
using System;
Эта строка означает, что в программе используется пространство имен System. В C# пространство имен определяет область объявлений. Подробнее о пространстве имен речь пойдет далее в этой книге, а до тех пор поясним вкратце его назначение. Благодаря пространству имен одно множество имен отделяется от других. По существу, имена, объявляемые в одном пространстве имен, не вступают в конфликт с именами, объявляемыми в другом пространстве имен. В анализируемой программе используется пространство имен System, которое зарезервировано для элементов, связанных с библиотекой классов среды .NET Framework, применяемой в С#. Ключевое слово using просто констатирует тот факт, что в программе используются имена в заданном пространстве имен. (Попутно обратим внимание на весьма любопытную возможность создавать собственные пространства имен, что особенно полезно для работы над крупными проектами.)
Перейдем к следующей строке программы.
class Example {
В этой строке ключевое слово class служит для объявления вновь определяемого класса. Как упоминалось выше, класс является основной единицей инкапсуляции в С#, a Example — это имя класса. Определение класса начинается с открывающей фигурной скобки ({) и оканчивается закрывающей фигурной скобкой (}). Элементы, заключенные в эти фигурные скобки, являются членами класса. Не вдаваясь пока что в подробности, достаточно сказать, что в C# большая часть действий, выполняемых в программе, происходит именно в классе.
Следующая строка программы содержит однострочный комментарий.
// Любая программа на C# начинается с вызова метода Main().
Это второй стиль комментариев, поддерживаемых в С#. Однострочный комментарий начинается и оканчивается символами //. Несмотря на различие стилей комментариев, программисты нередко пользуются многострочными комментариями для более длинных примечаний и однострочными комментариями для коротких, построчных примечаний к программе. (Третий стиль комментариев, поддерживаемых в С#, применяется при создании документации и описывается в приложении А.)
Перейдем к анализу следующей строки программы.
static void Main() {
Эта строка начинается с метода Main (). Как упоминалось выше, в C# подпрограмма называется методом. И, как поясняется в предшествующем комментарии, именно с этой строки начинается выполнение программы. Выполнение всех приложений C# начинается с вызова метода Main (). Разбирать полностью значение каждого элемента данной строки пока что не имеет смысла, потому что для этого нужно знать ряд других средств С#. Но поскольку данная строка используется во многих примерах программ, приведенных в этой книге, то проанализируем ее вкратце.