Valores de retorno de Main() (Guia de Programação em 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: configurar variáveis de ambiente para a linha de comando do Visual Studio 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 em C#)
Como acessar argumentos de linha de comando usando foreach (Guia de Programação em C#)
Conceitos
Main() e argumentos de linha de comando (Guia de Programação em C#)