2 votes

démarrer des programmes avec des valeurs

Je suis désolé, je ne peux pas vraiment le googler parce que je ne sais pas comment le dire correctement en quelques mots.

Mais en gros, j'aimerais avoir quelque chose comme, lorsque vous ouvrez votre programme via dos ou via un raccourci ressemblant à ceci :

"c : \program.exe "valeur1 valeur2

que mon application soit capable d'utiliser ces valeurs. Mais aussi lorsque je n'entre pas les valeurs, que mon application démarre toujours bien.

J'espère que vous avez compris ce que j'essaie de dire.

Toute aide est appréciée

6voto

Justin Niessner Points 144953

Ce sont les arguments qui sont passés à votre fonction principale :

public static void main (string[] args)
{
    // Check to see if at least two args were passed in.
    if(args.Length >= 2)
    {
        Console.WriteLine(args[0]); // value1
        Console.WriteLine(args[1]); // value2
    }
}

Gardez à l'esprit, cependant, qu'il n'y a aucun moyen de garantir l'ordre des args passés ou que ce sont les valeurs que vous attendez. Vous devez utiliser des arguments nommés, puis les analyser et les valider au début de votre application. Votre commande pourrait ressembler à quelque chose comme :

C:\program.exe /V1 value1 /V2 value2

Pour ce qui est d'une bonne liste d'analyseurs syntaxiques, je vérifierais :

.net - Meilleure façon d'analyser les arguments de la ligne de commande en C#

1voto

John Mitchell Points 5155

Jetez un coup d'œil au tutoriel Microsoft pour paramètres de ligne de commande

Si un paramètre n'est pas fourni, utilisez simplement des valeurs par défaut.

public static void Main(string[] args)
{
   // The Length property is used to obtain the length of the array. 
   // Notice that Length is a read-only property:
   Console.WriteLine("Number of command line parameters = {0}",
      args.Length);
   for(int i = 0; i < args.Length; i++)
   {
       Console.WriteLine("Arg[{0}] = [{1}]", i, args[i]);
   }

   if(args.length < 2) 
   { 
       x = 1;
   }  else {
   {
       x = Arg[2]; 
   }

}

1voto

msancho Points 181

Lorsque vous créez un exécutable, vous avez une fonction Main qui a Main(string[] args), ici vous pouvez lire les paramètres que vous avez utilisés pour appeler le programme.

Si vous voulez des valeurs par défaut, vous pouvez créer une variable de classe avec une valeur définie (ou utiliser les propriétés de l'application) et si le programme est appelé avec des paramètres, les écraser.

J'espère que cela vous aidera :)

0voto

HatSoft Points 7007

Exécutez votre Program.exe depuis la ligne de commande de cette façon

C:\Program Test1 Test2

Pour obtenir des informations sur la manière de réaliser cette opération en C#, veuillez utiliser le lien suivant MSDN

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X