Share via


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

Mise à jour : novembre 2007

La méthode Main peut utiliser des arguments, auquel cas elle peut se présenter sous les deux formes suivantes :

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

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. Le programme 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, le programme affiche un message pour expliquer comment il doit être utilisé.

Remarque :

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 DLL C# (Guide de programmation C#).

public class Functions
{
    public static long Factorial(int n)
    {
        // Test for invalid input
        if ((n <= 0) || (n > 256))
        { 
            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 < 256.");
        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.

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

Référence

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

Classes (Guide de programmation C#)

System.Environment