Main() и аргументы командной строки (Руководство по программированию в C#)

Обновлен: Ноябрь 2007

Метод Main является точкой входа консольного приложения C# или приложения Windows. (Для библиотек и служб не требуется метод Main в качестве точки входа). При запуске приложения метод Main является первым вызываемым методом.

В программе C# возможна только одна точка входа. Если в наличие имеется больше одного класса, который имеет метод Main, то необходимо скомпилировать программу с параметром компилятора /main, чтобы указать, какой метод Main нужно использовать в качестве точки входа. Дополнительные сведения см. в разделе /main (указание расположения метода "Main") (параметры компилятора C#).

class TestClass
{
    static void Main(string[] args)
    {
        // Display the number of command line arguments:
        System.Console.WriteLine(args.Length);
    }
}

Общие сведения

  • Метод Main является точкой входа EXE-программы, в которой начинается и заканчивается управление программой.

  • Main объявляется внутри класса или структуры, Main должно быть статическим и не быть открытым. (В предыдущем примере он получает доступ по умолчанию типа закрытый.) Включающий класс или структура не обязательно должна быть статической.

  • Main может иметь возвращаемый тип либо void, либо int.

  • Метод Main может быть объявлен с параметром string[], который содержит аргументы командной строки, или без него. При использовании Visual Studio для создания приложений Windows Forms, можно добавить параметр вручную или использовать класс Environment для получения аргументов командной строки. Параметры считываются как аргументы командной строки с нулевым индексированием. В отличие от языков C и C++, имя программы не рассматривается в качестве первого аргумента командной строки.

Содержание

Спецификация языка C#

Дополнительные сведения см. в следующих разделах документа Спецификация языка C#:

  • 1.1 Hello World

См. также

Основные понятия

Руководство по программированию в C#

Примеры по Visual C#

Ссылки

Структура программы C#