Valores de retorno de Main () (guia de programação do C#)

O método de Main pode retornar void:

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

Também pode retornar int:

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

Se o valor de retorno de Main não é usado, void permite retornar um código ligeiramente mais simples.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

Nesse exemplo, um arquivo em lotes é usado para executar um programa e para testar o valor de retorno da função de Main .Quando um programa é executado no Windows, qualquer valor retornado da função de Main é armazenado em um variável de ambiente chamado ERRORLEVEL.Um arquivo em lotes pode determinar o resultado de execução inspecionando a variável de ERRORLEVEL .Tradicionalmente, um valor de retorno de zero indica a execução bem-sucedida.O exemplo a seguir é um programa simples que retorna zero de função de Main .O zero indicam que o programa tiver efetuado 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 criar o código de um prompt de comando.Siga as instruções em Como: definir variáveis de ambiente para ativar compilações de linha de comando, ou use o prompt de comando do Visual Studio, disponível no menu de Iniciar em Visual Studio Tools.Do prompt de comando, navegue até a pasta em que você salvou o programa.O comando a seguir compila MainReturnValTest.cs e gera o arquivo executável MainReturnValTest.exe.

csc MainReturnValTest.cs

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

Porque o código retorna zero, o arquivo em lotes relate o êxito.No entanto, se você alterar MainReturnValTest.cs para retornar um valor diferente de zero e novamente para compilar o programa, a execução do arquivo subsequente em lotes relatará a falha.

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

A saída de exemplo

Execution succeeded

Return value = 0

Consulte também

Tarefas

Como: exibir argumentos de linha de comando (guia de programação do C#)

Como: argumentos de linha de comando de acesso usando foreach (guia de programação C#)

Conceitos

Guia de programação do C#

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

Outros recursos

Referência de C#