Condividi tramite


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

Aggiornamento: novembre 2007

Il metodo Main può essere di tipo void:

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

Può anche restituire un int:

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

Se il valore restituito da Main non deve essere utilizzato, la restituzione del tipo void consente di semplificare leggermente il codice. La restituzione di un valore integer consente tuttavia al programma di inviare informazioni sullo stato ad altri programmi o script che chiamano l'eseguibile. Di seguito viene riportato un esempio dell'utilizzo del valore restituito da Main.

Esempio

In questo esempio viene utilizzato un file batch per eseguire un programma e verificare il valore restituito della 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. Esaminando la variabile ERRORLEVEL, i file batch possono quindi determinare il risultato dell'esecuzione. Un valore restituito pari a zero indica in genere che l'esecuzione è avvenuta in modo corretto. Nell'esempio di codice riportato di seguito viene illustrato un semplice programma che restituisce il valore zero dalla funzione Main.

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

Poiché nell'esempio viene utilizzato un file batch, è preferibile compilare questo codice dalla riga di comando, come illustrato in Procedura: impostare le variabili di ambiente.

Viene quindi utilizzato un file batch per richiamare l'eseguibile risultante dall'esempio di codice precedente. Poiché il codice restituisce il valore zero, il file batch verrà eseguito correttamente. Se tuttavia il codice precedente viene modificato in modo da restituire un valore diverso da zero e viene ricompilato, la successiva esecuzione del file batch riporterà 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 Succeded
    echo return value = %ERRORLEVEL%
    goto end

:end

Esempio di output

Execution Succeded

return value = 0

Vedere anche

Attività

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

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

Concetti

Guida per programmatori C#

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

Altre risorse

Riferimenti per C#