Share via


Main() Return Values (C# Programming Guide)

O Main método pode retornar void:

static void Main()
{
    //...
}

Ele também pode retornar um int:

static int Main()
{
    //...
    return 0;
}

Se o valor de retorno de Main não é utilizada, retornando void permite um pouco mais simples de código. No entanto, retornar um número inteiro permite que o programa para comunicar informações de status para outros programas ou scripts que chamam o arquivo executável. O exemplo a seguir mostra como o valor de retorno de Main pode ser acessado.

Exemplo

Neste exemplo, um arquivo em lotes é usado para executar um programa e testar o valor de retorno de Main função. Quando um programa é executado no Windows, qualquer valor retornado a partir de Main função é armazenada em uma variável de ambiente chamada ERRORLEVEL. Um arquivo em lotes pode determinar o resultado da execução inspecionando o ERRORLEVEL variável. Tradicionalmente, um valor de retorno de zero indica a execução bem-sucedida. O exemplo a seguir é um programa simples que retorna zero a partir de Main função. O zero indica que o programa foi executado com êxito. Salve o programa como MainReturnValTest.cs.

// Save this program as MainReturnValTest.cs.
class MainReturnValTest
{
    static int Main()
    {
        //...
        return 0;
    }
}

Como este exemplo usa um arquivo em lotes, é melhor compilar o código a partir de um prompt de comando. Siga as instruções de Como: definir variáveis de ambiente para habilitar as compilações de linha de comando ou usar o Prompt de comando Visual Studio, disponível a partir do Iniciar menu em Visual Studio Tools. No prompt de comando, navegue para a pasta em que você salvou o programa. O comando a seguir compila o MainReturnValTest.cs e produz o arquivo executável MainReturnValTest.exe.

csc MainReturnValTest.cs

Em seguida, crie um arquivo em lotes para executar o MainReturnValTest.exe e para exibir o resultado. Cole o código a seguir em um arquivo de texto e salvá-lo como test.bat na pasta que contém o MainReturnValTest.cs e MainReturnValTest.exe. Execute o arquivo em lotes digitando test no prompt de comando.

Como o código retorna zero, o arquivo em lotes relatará o sucesso. No entanto, se você alterar o MainReturnValTest.cs para retornar um valor diferente de zero e, em seguida, ser recompilado o programa, execução subseqüente do arquivo em lotes reportará a falha.

rem test.bat
@echo off
MainReturnValueTest
@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

Saída de exemplo

Execution succeeded

Return value = 0

Consulte também

Tarefas

How to: Display Command Line Arguments (C# Programming Guide)

How to: Access Command-Line Arguments Using foreach (C# Programming Guide)

Conceitos

C# Programming Guide

Main () e os argumentos de linha de comando-(C# guia de programação)

Outros recursos

C# Reference