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
Main () e argumentos de linha de comando (guia de programação do C#)