Share via


Valeurs de retour Main() (Guide de programmation C#)

Mise à jour : novembre 2007

La méthode Main peut être du type void :

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

Elle peut également retourner int :

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

Si la valeur de retour de Main n'est pas à utiliser, retourner void autorise un code légèrement plus simple. Toutefois, retourner un entier permet au programme de lier des informations d'état à d'autres programmes ou scripts qui appellent le fichier exécutable. Un exemple d'utilisation de la valeur de retour de Main est affiché dans l'exemple suivant.

Exemple

Dans cet exemple, un fichier batch est utilisé pour exécuter un programme et tester la valeur de retour de la fonction Main. Lorsqu'un programme est exécuté dans Windows, toute valeur retournée par la fonction Main est stockée dans une variable d'environnement appelée ERRORLEVEL. En inspectant la variable ERRORLEVEL, les fichiers batch peuvent donc déterminer le résultat de l'exécution. Traditionnellement, une valeur de retour de zéro indique que l'exécution a réussi. Ci-dessous, vous trouverez un programme très simple qui retourne la valeur zéro de la fonction Main.

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

Étant donné que cet exemple utilise un fichier batch, il est préférable de compiler ce code à partir de la ligne de commande, comme indiqué dans Comment : définir des variables d'environnement.

Ensuite, un fichier batch est utilisé pour appeler le fichier exécutable résultant de l'exemple de code précédent. Dans la mesure où le code retourne zéro, le fichier batch signale la réussite, mais si le code antérieur est modifié afin de retourner une valeur différente de zéro, puis est recompilé, l'exécution suivante du fichier batch indique un échec.

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

Résultat de l'exemple

Execution Succeded

return value = 0

Voir aussi

Tâches

Comment : afficher les arguments de ligne de commande (Guide de programmation C#)

Comment : accéder à des arguments de ligne de commande à l'aide de foreach (Guide de programmation C#)

Concepts

Guide de programmation C#

Main() et arguments de ligne de commande (Guide de programmation C#)

Autres ressources

Référence C#