Метод, которому передается управление после запуска программы, должен иметь имя Main и быть статическим. Он может принимать параметры из внешнего окружения и возвращать значение в вызвавшую среду. Предусматривается два варианта метода — с параметрами и без параметров:
// без параметров:
static тип Main() {... } static void Main() {... }
// с параметрами:
static тип Main(string[] args)
{ /*... */ }
Параметры, разделяемые пробелами, задаются при запуске программы из командной строки после имени исполняемого файла программы. Они передаются, в массив args.
ПРИМЕЧАНИЕ
Имя параметра в программе может быть любым, но принято использовать имя args.
Если метод возвращает значение, оно должно быть целого типа, если не возвращает, он должен описываться как void. В этом случае оператор возврата из Main можно опускать, а вызвавшая среда автоматически получит нулевое значение, означающее успешное завершение. Ненулевое значение обычно означает аварийное завершение, например:
static int Main(string[] args)
{
...
if (... /* все пропало */) return 1;
if (... /* абсолютно все пропало */)return 100;
}
Возвращаемое значение анализируется в командном файле, из которого запускается программа. Обычно это делается для того, чтобы можно было принять решение, выполнять ли командный файл дальше. В листинге 7.2 приводится пример метода Main, который выводит свои аргументы и ожидает нажатия любой клавиши.
Листинг 7.2. Параметры метода Main
using System;
namespace ConsoleApplication1
{
class Class1
{
static void Main(string[] args)
{
foreach (string arg in args)
Console.WriteLine(arg);
Console.Read();
}
}
}
Пусть исполняемый файл программы имеет имя ConsoleApplication1.exe и вызывается из командной строки:
d:\cs\ConsoleApplicationl\bin\Debug\ConsoleApplicationl.exe one two three
Тогда на экран будет выведено:
one
two
three
Если параметр содержит специальные символы или пробелы, его заключают в кавычки.
ПРИМЕЧАНИЕ
Для запуска программы из командной строки можно воспользоваться, к примеру, командой Выполнить меню Пуск или командой Пуск ► Программы ► Стандартные ► Командная строка.