Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курс_ред.doc
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
1.76 Mб
Скачать

Параметры функции Main()

Существуют четыре различных способа описания, которые можно использовать для функции Main():

  • static void Main()

  • static void Main(string[] args)

  • static int Main()

  • static int Main(string[] args)

Третья и четвертая версии описания, приведенные выше, возвращают значение типа int, которое может быть использовано для указания на то, каким образом завершилось выполнение приложения, и которое часто используется для определения ошибки (это в большинстве случаев является крайне желательным или даже обязательным).

Обычно, возвращаемое значение равно 0, что означает "нормальное" окончание (т. е. приложение закончило свою работу и может быть завершено в безопасном режиме), если при выполнении программы не возникло каких-либо исключительных ситуаций, которых она не смогла обработать. В противном случае возвращается ненулевое значение, определяемое программистом.

Параметр args функции Main() обеспечивает возможность приложению получать извне информацию, задаваемую в момент его запуска на выполнение. Эта информация обычно задается в виде параметров командной строки.

Параметры командной строки не часто используются, если приложения запускаются из операционной системы с графическим интерфейсом. Но когда производится запуск приложения из командной строки, то при этом имеется возможность дополнительно задать некоторую информацию, например, имя файла, загрузка которого требуется для выполнения приложения. В качестве примера можно Windows-приложение Notepad (Блокнот). Запустить его можно, просто набрав notepad — либо в окне командного приглашения, либо в окне, которое появляется при выборе опции Run (Выполнить) из меню Start (Пуск).

Однако в этих же окнах можем набрать нечто вроде: notepad myfile.txt. В результате Notepad либо загрузит файл myfile.txt, либо, если такого файла не существует, предложит его создать. В данном случае "myfiie.txt" является аргументом командной строки. Можно написать консольное приложение, которое будет работать аналогичным образом, используя параметр args.

Когда консольное приложение запускается, то все заданные параметры командной строки помещаются в массив args. В дальнейшем эти параметры могут использоваться по мере необходимости. Рассмотрим пример выполнения таких действий.

using System;

namespace MainArgs

{

class Program

{

static void Main(string[] args)

{

Console.WriteLine("Задано {0} аргументов командной строки:",

args.Length);

foreach (string arg in args)

{

Console.WriteLine(arg);

}

Console.ReadLine();

}

}

}

В данной программе параметр args используется точно таким же образом, как мог быть использован любой другой строковый массив. Никакой обработки аргументов пока не выполняется, просто происходит вывод на экран всего, что было задано через командную строку.

Чтобы запустить эту программу, нужно открыть окно командной строки в той директории, куда записывается выполнимый файл программы, и набрав следующий текст:

MainArgs.exe p1 p2 "p3 p4"

Результатом выполнения программы будет:

Но при отладке программы удобнее задавать аргументы посредством диалога Project Properties в Visual Studio:

В этом случае результатом будет:

Это удобный способ использовать одни и те же аргументы при каждом запуске приложения из Visual Studio: в противном случае пришлось бы набирать их в командной строке при каждом запуске приложения.

Обратите внимание, что каждый аргумент отделяется от других с помощью пробелов; также существует возможность заключать аргументы в двойные кавычки — в том случае, если потребуется задать более длинный аргумент (двойные кавычки обязательны, если аргумент сам по себе содержит пробелы,— для того, чтобы он не рассматривался в качестве нескольких аргументов).