Share via


Arguments de ligne de commande (Guide de programmation C#)

Vous pouvez envoyer des arguments à la méthode Main en définissant la méthode de l'une des façons suivantes :

static int Main(string[] args)
static void Main(string[] args)

Notes

Pour activer des arguments de ligne de commande dans la méthode Main dans une application Windows Forms, vous devez modifier manuellement la signature de Main dans program.cs.Le code généré par le Concepteur Windows Forms crée un Main sans paramètre d'entrée.Vous pouvez également utiliser Environment.CommandLine ou Environment.GetCommandLineArgs pour accéder aux arguments de ligne de commande à partir de n'importe quel emplacement d'une application console ou Windows.

Le paramètre de la méthode Main est un tableau String qui représente les arguments de la ligne de commande. En général, la vérification de l'existence des arguments s'effectue en testant la propriété Length. Exemple :

if (args.Length == 0)
{
    System.Console.WriteLine("Please enter a numeric argument.");
    return 1;
}

Vous pouvez aussi convertir les arguments de type chaîne en arguments numériques à l'aide de la classe Convert ou de la méthode Parse. Par exemple, l'instruction ci-dessous convertit string en nombre long en utilisant la méthode Parse :

long num = Int64.Parse(args[0]);

Il est possible aussi d'utiliser le type long C#, qui sert d'alias à Int64 :

long num = long.Parse(args[0]);

Vous pouvez également utiliser la méthode ToInt64 de la classe Convert pour obtenir le même résultat :

long num = Convert.ToInt64(s);

Pour plus d'informations, consultez Parse et Convert.

Exemple

L'exemple suivant montre comment utiliser les arguments de ligne de commande dans les applications console. L'application prend un argument au moment de l'exécution, le convertit en entier et calcule la factorielle du nombre. Si aucun argument n'est fourni, l'application affiche un message pour expliquer comment il doit être utilisé.

Pour compiler et exécuter l'application à partir d'une invite de commandes, suivez ces étapes :

  1. Collez le code suivant dans un éditeur de texte et enregistrez le fichier sous forme de fichier texte avec le nom Factorial.cs.

    //Add a using directive for System if the directive isn't already present. 
    
    public class Functions
    {
        public static long Factorial(int n)
        {
            // Test for invalid input 
            if ((n < 0) || (n > 20))
            {
                return -1;
            }
    
            // Calculate the factorial iteratively rather than recursively: 
            long tempResult = 1;
            for (int i = 1; i <= n; i++)
            {
                tempResult *= i;
            }
            return tempResult;
        }
    }
    
    class MainClass
    {
        static int Main(string[] args)
        {
            // Test if input arguments were supplied: 
            if (args.Length == 0)
            {
                System.Console.WriteLine("Please enter a numeric argument.");
                System.Console.WriteLine("Usage: Factorial <num>");
                return 1;
            }
    
            // Try to convert the input arguments to numbers. This will throw 
            // an exception if the argument is not a number. 
            // num = int.Parse(args[0]); 
            int num;
            bool test = int.TryParse(args[0], out num);
            if (test == false)
            {
                System.Console.WriteLine("Please enter a numeric argument.");
                System.Console.WriteLine("Usage: Factorial <num>");
                return 1;
            }
    
            // Calculate factorial. 
            long result = Functions.Factorial(num);
    
            // Print result. 
            if (result == -1)
                System.Console.WriteLine("Input must be >= 0 and <= 20.");
            else
                System.Console.WriteLine("The Factorial of {0} is {1}.", num, result);
    
            return 0;
        }
    }
    // If 3 is entered on command line, the 
    // output reads: The factorial of 3 is 6.
    
  2. Dans l'écran Démarrer ou le menu Démarrer, ouvrez une fenêtre Invite de commandes Développeur Visual Studio, puis accédez au dossier qui contient le fichier que vous venez de créer.

  3. Entrez la commande suivante pour compiler l'application.

    csc Factorial.cs

    Si votre application n'a pas d'erreurs de compilation, un fichier exécutable nommé Factorial.exe est créé.

  4. Entrez la commande suivante pour calculer la factorielle de 3 :

    Factorial 3

  5. La commande génère la sortie suivante : The factorial of 3 is 6.

Notes

Lorsque vous exécutez une application dans Visual Studio, vous pouvez spécifier des arguments de ligne de commande dans la Page Déboguer, Concepteur de projets.

Pour obtenir d'autres exemples d'utilisation des arguments de ligne de commande, consultez Comment : créer et utiliser des assemblys à l'aide de la ligne de commande (C# et Visual Basic).

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#)

Référence

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

Classes (guide de programmation C#)

Environment

Concepts

Guide de programmation C#

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