Ligne de commande avec Visual Studio 2013 Ultimate
Tupac900
Messages postés
43
Date d'inscription
Statut
Membre
Dernière intervention
-
Tupac900 Messages postés 43 Date d'inscription Statut Membre Dernière intervention -
Tupac900 Messages postés 43 Date d'inscription Statut Membre Dernière intervention -
Bonjour
Je suis actuellement en train d'apprendre le C# avec le tuto d'Openclassroom pour ceux qui connaissent.
Voila j'était sur un TP sur la pratique de la ligne de commande avec Visual Studio 2013 Ultimate, vu que je n'arrivais pas à faire passer les arguments, j'ai été aidé par un gars du Forum. On nous apprend (dans le tuto) que pour qu'un argument soit valable il ne faut pas qu'il y ait d'espace dans celui-ci par exemple :
argument1 : OK
si on veut mettre des espaces il faut mettre des guillemets :
argument 1 : invalide
"argument 1" : OK
Avec cette manip, le code n'a pas marché.
Et ensuite le gars du forum me donne l'info qu'il ne faut pas mettre de guillemet même quand on met des espaces sinon l'argument est invalide. Et là la manip marche et le code fonctionne.
Donc du coup je ne comprends plus rien, on nous mets en garde pour finalement nous dire l'inverse, est-ce que ma version de Visual Studio joue là dedans, quel est le problème ? Et comment faire d'ailleurs si on veut faire passer plusieurs arguments dans la ligne de commande.
Pour ceux qui veulent en savoir un peu plus, voici le code en question :
Si vous ne comprenez pas le code, ça dit en fait de mettre en argument dans la ligne de commande soit "addition 2 5" pour faire une addition de 2 + 5 par exemple, "multiplication 2 5" pour une multiplication de 2 x 5 ou encore "moyenne 2 5 10 11" pour faire la moyenne de ces quatre nombres.
Donc du coup comment marche cette ligne de commande ? Les guillemets sont-ils en fait invalides ? Comment faire passer plusieurs arguments ?
Merci à vous !
Je suis actuellement en train d'apprendre le C# avec le tuto d'Openclassroom pour ceux qui connaissent.
Voila j'était sur un TP sur la pratique de la ligne de commande avec Visual Studio 2013 Ultimate, vu que je n'arrivais pas à faire passer les arguments, j'ai été aidé par un gars du Forum. On nous apprend (dans le tuto) que pour qu'un argument soit valable il ne faut pas qu'il y ait d'espace dans celui-ci par exemple :
argument1 : OK
si on veut mettre des espaces il faut mettre des guillemets :
argument 1 : invalide
"argument 1" : OK
Avec cette manip, le code n'a pas marché.
Et ensuite le gars du forum me donne l'info qu'il ne faut pas mettre de guillemet même quand on met des espaces sinon l'argument est invalide. Et là la manip marche et le code fonctionne.
Donc du coup je ne comprends plus rien, on nous mets en garde pour finalement nous dire l'inverse, est-ce que ma version de Visual Studio joue là dedans, quel est le problème ? Et comment faire d'ailleurs si on veut faire passer plusieurs arguments dans la ligne de commande.
Pour ceux qui veulent en savoir un peu plus, voici le code en question :
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace MonProgramme { class Program { static void Main(string[] args) { Console.ReadLine(); if (args.Length == 0) { AfficherAide(); } else { string operateur = args[0]; switch (operateur) { case "addition": Addition(args); break; case "multiplication": Multiplication(args); break; case "moyenne": Moyenne(args); break; default: AfficherAide(); break; } } } static void AfficherAide() { Console.WriteLine("Utilisez l'application de la manière suivante :"); Console.WriteLine("MonProgamme addition 2 5"); Console.WriteLine("MonProgamme multiplication 2 5"); Console.WriteLine("MonProgamme moyenne 2 5 10 11"); } static void Addition(string[] args) { if (args.Length != 3) { AfficherAide(); } else { double somme = 0; for (int i = 1; i < args.Length; i++) { double valeur; if (!double.TryParse(args[i], out valeur)) { AfficherAide(); return; } somme += valeur; } Console.WriteLine("Résultat de l'addition : " + somme); } } static void Multiplication(string[] args) { if (args.Length != 3) { AfficherAide(); } else { double resultat = 1; for (int i = 1; i < args.Length; i++) { double valeur; if (!double.TryParse(args[i], out valeur)) { AfficherAide(); return; } resultat *= valeur; } Console.WriteLine("Résultat de la multiplication : " + resultat); } } static void Moyenne(string[] args) { double total = 0; for (int i = 1; i < args.Length; i++) { double valeur; if (!double.TryParse(args[i], out valeur)) { AfficherAide(); return; } total += valeur; } total = total / (args.Length - 1); Console.WriteLine("Résultat de la moyenne : " + total); } } }
Si vous ne comprenez pas le code, ça dit en fait de mettre en argument dans la ligne de commande soit "addition 2 5" pour faire une addition de 2 + 5 par exemple, "multiplication 2 5" pour une multiplication de 2 x 5 ou encore "moyenne 2 5 10 11" pour faire la moyenne de ces quatre nombres.
Donc du coup comment marche cette ligne de commande ? Les guillemets sont-ils en fait invalides ? Comment faire passer plusieurs arguments ?
Merci à vous !
A voir également:
- Ligne de commande avec Visual Studio 2013 Ultimate
- Word 2013 - Télécharger - Traitement de texte
- Invite de commande - Guide
- Excel 2013 - Télécharger - Tableur
- Partage de photos en ligne - Guide
- Powerpoint 2013 - Télécharger - Présentation
2 réponses
Je ne suis pas sur de bien comprendre le problème, commente ton code avant de le poster sur un forum:
Pour créer des variables du genre: Manuel Sanchez écrit Manuel_Sanchez à la place. Les guillemets c'est pour écrire du texte qui n'est pas traité par le programme.
Pour passer plusieurs arguments (pour le coup on dira paramètre) dans une méthode il faut les séparer avec une virgule :
methode_du_schnapps(parametre1, parametre2)
Bon j'espère que j'ai pas répondu à coté de la plaque...a+ dans le bus!
static void Main(string[] args) { Console.WriteLine("Ca c'est des trucs que le programme exécute"); // Ca c'est des trucs que tu dis par les amigos du forums! }
Pour créer des variables du genre: Manuel Sanchez écrit Manuel_Sanchez à la place. Les guillemets c'est pour écrire du texte qui n'est pas traité par le programme.
Pour passer plusieurs arguments (pour le coup on dira paramètre) dans une méthode il faut les séparer avec une virgule :
methode_du_schnapps(parametre1, parametre2)
Bon j'espère que j'ai pas répondu à coté de la plaque...a+ dans le bus!
Bah en fait le code je l'ai mis juste comme ça, il n'est pas du tout important, ce qui m'intéressait c'était comment mettre plusieurs arguments dans la ligne de commande et tu y a répondu avec ta petit touche d'humour :). Le problème c'est que je n'ai pas pour l'instant de Visual Studio sous la main donc du coup tu parles des paramètres directement dans le code ou des paramètres dans la ligne de commande ?
Une petite dernière question : pourquoi dans ce tuto on nous dit de mettre des guillemets quand il y a des espaces ? Est-ce ça marchait comme ça pour les versions antérieurs de Visual Studio ?
Merci de ton aide précieuse amigos.
Une petite dernière question : pourquoi dans ce tuto on nous dit de mettre des guillemets quand il y a des espaces ? Est-ce ça marchait comme ça pour les versions antérieurs de Visual Studio ?
Merci de ton aide précieuse amigos.