Valori restituiti da Main() (Guida per programmatori C#)

Il metodo Main può restituire void:

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

Può anche restituire un int:

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

Se il valore restituito da Main non viene utilizzato, la restituzione di void consente di semplificare leggermente il codice. La restituzione di un valore intero consente tuttavia al programma di comunicare le informazioni sullo stato ad altri programmi o script che richiamano il file eseguibile. Nell'esempio seguente viene illustrato come è possibile accedere al valore restituito da Main.

Esempio

In questo esempio viene utilizzato un file batch per eseguire un programma e testare il valore restituito dalla funzione Main. Quando si esegue un programma in ambiente Windows, qualsiasi valore restituito dalla funzione Main viene archiviato in una variabile di ambiente denominata ERRORLEVEL. Un file batch può determinare il risultato dell'esecuzione tramite l'esame della variabile ERRORLEVEL. Un valore restituito pari a zero indica in genere che l'esecuzione è avvenuta in modo corretto. L'esempio seguente rappresenta un semplice programma che restituisce il valore zero dalla funzione Main. Lo zero indica che il programma è stato eseguito correttamente. Salvare il programma come MainReturnValTest.cs.

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

Poiché in questo esempio viene utilizzato un file batch, è consigliabile compilare il codice da un prompt dei comandi. Seguire le istruzioni in Procedura: impostare le variabili di ambiente per abilitare le compilazioni da riga di comando o utilizzare il prompt dei comandi di Visual Studio, disponibile nel menu Start in Visual Studio Tools. Al prompt dei comandi passare alla cartella in cui è stato salvato il programma. Il comando seguente consente di compilare MainReturnValTest.cs e produrre il file eseguibile MainReturnValTest.exe.

csc MainReturnValTest.cs

Creare quindi un file batch per eseguire MainReturnValTest.exe e visualizzare il risultato. Incollare il codice seguente in un file di testo e salvarlo come test.bat nella cartella che contiene MainReturnValTest.cs e MainReturnValTest.exe. Eseguire il file batch digitando test al prompt dei comandi.

Poiché il codice restituisce zero, il file batch indicherà un esito positivo. Se tuttavia si modifica MainReturnValTest.cs in modo che restituisca un valore diverso da zero e quindi si ricompila il programma, l'esecuzione successiva del file batch indicherà un esito negativo.

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

Output di esempio

Execution succeeded

Return value = 0

Vedere anche

Attività

Procedura: visualizzare gli argomenti della riga di comando (Guida per programmatori C#)

Procedura: accedere agli argomenti della riga di comando utilizzando foreach (Guida per programmatori C#)

Concetti

Guida per programmatori C#

Main() e argomenti della riga di comando (Guida per programmatori C#)

Altre risorse

Riferimenti per C#