2008-11-25 5 views
2

Quelle est la méthode appropriée pour lire les arguments à partir de la ligne de commande? J'ai lu de l'utilisation de chaînes de caractères args [] mais je n'arrive pas à saisir le concept de comment le faire correctement.C#: Quelle est la méthode C# appropriée pour lire les arguments/paramètres dans les applications de la console?

Exemples de commandes:

/chien moyen -s blanc animal

/voiture -y vert civique -c 1999

Quelle serait la manière appropriée à lire,

  1. /la commande

  2. tous les autres -lettres guments

pour faciliter la manipulation? Ou y a-t-il une manière plus propre en général de faire cela que d'utiliser des args? Toujours pas sûr de la façon dont les args sont utilisés.

static void Main(string[] args) 
    { 

     Console.WriteLine("Welcome To The Application"); 

     Console.Write("Program> "); // Expecting something such as: /animal dog -c brown -s medium 
     string sInput = Console.ReadLine(); 

     // What would be an appropriate method to read 1. /thecommand then based on the command 
     // maybe using switch, expect the arguments like -c brown -s medium or -c green -y 1999 
     // and display them into the console? 


     // if /animal is detected, display what would be: 
     // Console.WriteLine("Animal: dog"); 
     // Console.WriteLine("Color: brown"); 
     // Console.WriteLine("Size: medium"); 

     // if /car is detected, display what would be: 
     // Console.WriteLine("Car: civic"); 
     // Console.WriteLine("Color: green"); 
     // Console.WriteLine("Year: 1999"); 

    } 
+0

Voir également le post suivant sur ce sujet qui a plus de réponses: http://stackoverflow.com/questions/491595/best-way-to-parse-command-line-arguments-in-c – Qwerty

Répondre

1

Cela dépend de la complexité. Si vous n'avez que quelques options, un simple pour/switch suffira. Si les options sont complexes, vous pourriez vouloir une classe qui vous permet de mapper "-c" à "Color" etc. Les exemples (juste les 2 premiers de google, pas une recommandation spécifique) de cette seconde approche sont here et here.

0

Je vois que vous avez posté un certain nombre de questions dans la gamme d'applications de la console. Pour répondre à cette question et éventuellement à d'autres, vous pouvez consulter cette bibliothèque dédiée à l'écriture d'applications de console. Il comprend la ligne de commande parseurs

NConsoler

+0

À partir de dimanche 7 déc, le domaine csharpus.com semble avoir disparu – Bevan

1

Si vous êtes à la recherche d'un analyseur de ligne de commande assez agréable, vous devriez essayer la bibliothèque de l'analyseur de ligne de commande à CodePlex - http://www.codeplex.com/commandline Il est assez simple, est livré avec des tests unitaires et couvre les principaux cas d'utilisation.

Une autre option est NDesk - http://www.ndesk.org/Options - qui est supposée être le successeur des utilitaires d'analyse de ligne de commande en Mono.

Questions connexes