Значения, возвращаемые методом Main() (Руководство по программированию на C#)
Метод Main может возвращать значение void:
static void Main()
{
//...
}
Он также может возвращать значение типа int:
static int Main()
{
//...
return 0;
}
Если значение, возвращаемое методом Main, не используется, то указание в качестве возвращаемого типа void несколько упрощает код. Однако возврат целого значения позволяет программе передавать информацию о своем состоянии другим программам и скриптам, которые вызывают исполняемый файл. В следующем примере показано, как получить доступ к значению, возвращаемому методом Main.
Пример
В этом примере с помощью пакетного файла запускается программа, после чего проверяется значение, возвращаемое функцией Main. При запуске программы в Windows значение, возвращаемое функцией Main, сохраняется в переменной среды, которая называется ERRORLEVEL. Пакетный файл может определить результат выполнения посредством проверки значения переменной ERRORLEVEL. В большинстве случаев на успешное выполнение указывает нулевое значение. В следующем примере показана простая программа, в которой функция Main возвращает ноль. Нулевое значение указывает на успешное выполнение программы. Сохраните программу в файле MainReturnValTest.cs.
// Save this program as MainReturnValTest.cs.
class MainReturnValTest
{
static int Main()
{
//...
return 0;
}
}
Поскольку в этом примере используется пакетный файл, рекомендуется выполнять компиляцию кода из помощью командной строки. Выполните инструкции из раздела Практическое руководство. Настройка переменных среды для командной строки Visual Studio для включения построений из командной строки или воспользуйтесь командной строкой Visual Studio, которую можно открыть с помощью пункта Средства Visual Studio в меню Пуск. В командной строке перейдите в папку, в которой сохранена программа. С помощью показанной ниже команды выполняется компиляция файла MainReturnValTest.cs и создается исполняемый файл MainReturnValTest.exe.
csc MainReturnValTest.cs
Далее создайте пакетный файл для запуска файла MainReturnValTest.exe и вывода результата. Вставьте следующий код в текстовый файл и сохраните его под именем test.bat в папке, содержащей файлы MainReturnValTest.cs и MainReturnValTest.exe. Введите в командной строке команду test, чтобы запустить командный файл.
Поскольку код возвращает нулевое значение, пакетный файл сообщает об успехе. Однако, если изменить файл MainReturnValTest.cs, чтобы он возвращал ненулевое значение, и затем перекомпилировать программу, при последующем выполнении пакетного файла будет выведено сообщение о неудаче.
rem test.bat
@echo off
MainReturnValTest
@if "%ERRORLEVEL%" == "0" goto good
:fail
echo Execution Failed
echo return value = %ERRORLEVEL%
goto end
:good
echo Execution succeeded
echo Return value = %ERRORLEVEL%
goto end
:end
Пример результатов выполнения
Execution succeeded
Return value = 0
См. также
Задачи
Основные понятия
Руководство по программированию на C#
Main() и аргументы командной строки (Руководство по программированию на C#)