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