Maison  >  Article  >  développement back-end  >  Arguments de ligne de commande C#

Arguments de ligne de commande C#

王林
王林original
2024-09-03 15:07:091114parcourir

En C#, l’exécution du programme démarre à partir de la méthode main(). La méthode main() n'accepte les arguments d'aucune autre méthode, mais elle accepte les arguments qui lui sont transmis par l'utilisateur via la ligne de commande, et ces arguments sont appelés arguments de ligne de commande. Voici quelques points importants concernant les arguments de ligne de commande en C# :

  • La méthode main() accepte les arguments passés par l'utilisateur dans un tableau de chaînes de type.
  • Il accepte les arguments lors de l'exécution du programme.
  • Les utilisateurs peuvent convertir ces arguments de type chaîne en d'autres types en C# à l'aide de la classe Convert ou de la méthode Parse().

Syntaxe avec explication

La syntaxe de la méthode Main() prenant les arguments de ligne de commande est la suivante :

static void Main(string[] args)
{
//user code
}

Dans la syntaxe ci-dessus, « static » est le mot-clé qui indique que la méthode Main() peut s'exécuter sans aucune instance. 'void' est le type de retour. « Main » indique qu'il s'agit de notre méthode Main() du programme, et « string[] » est le type d'arguments transmis à la méthode. 'args' est le nom défini par l'utilisateur donné aux arguments.

Comment fonctionne l'argument de ligne de commande en C# ?

Les arguments de ligne de commande sont transmis à la méthode Main() sous la forme d'un tableau de chaînes de type afin que nous puissions transmettre un nombre n de paramètres lors de l'exécution de notre programme.

Exemple :

public static void Main(string[] args)
{
//user code
}

Lorsque nous transmettons les paramètres à la méthode Main() ci-dessus, ils seront visualisés par la variable « args », un tableau de type chaîne. Ensuite, nous pouvons accéder à l'argument individuel de ce tableau en utilisant la position d'index.

Auparavant, chaque élément transmis sera de type chaîne qui pourra ensuite être modifié par le type de données requis à l'aide de la classe Convert ou de la méthode Parse() fournie par C#, comme le montrent les exemples ci-dessous :

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

L'instruction ci-dessus convertira l'argument présent au numéro d'index 0 en une valeur « longue » équivalente à l'aide de la méthode Parse(), puis elle sera stockée dans la variable « num », qui est de type « long ». 🎜>

int num = Convert.ToInt32(args[1]);
Cette instruction convertira l'argument présent au numéro d'index 1 en un entier signé équivalent de 32 bits, puis il sera stocké dans la variable 'num', qui est de type 'int.'

Nous pouvons également vérifier l'existence des arguments de ligne de commande, c'est-à-dire vérifier si les arguments sont passés à la méthode Main() ou non en utilisant la propriété 'Length' comme indiqué ci-dessous :

if (args.Length > 0)
{
System.Console.WriteLine("Arguments passed");
}
else
{
System.Console.WriteLine("Arguments are not passed");
}
Pour une application Windows Forms, pour activer les arguments de ligne de commande dans la méthode Main(), nous devons modifier la signature de la méthode Main() dans le fichier 'program.cs'. En effet, le concepteur de Windows Forms génère le code qui contient la méthode Main() sans paramètre d'entrée.

Si vous travaillez avec C# dans Visual Studio, il existe un bon moyen de saisir des arguments de ligne de commande pour une méthode Main() dans Visual Studio. Voici quelques étapes pour cela :

    Faites un clic droit sur votre projet contenant la méthode main() de l'explorateur de solutions.
  1. Cliquez sur « Propriétés »
  2. Dans la fenêtre Propriétés, allez dans l'onglet « Débogage »
  3. Dans Debug, il y aura une zone de texte indiquant « Arguments de ligne de commande ».
Nous pouvons saisir des arguments de ligne de commande dans cette zone de texte, chacun séparé par un espace. Veuillez trouver ci-dessous la capture d'écran de celui-ci :

Arguments de ligne de commande C#

Exemples d'arguments de ligne de commande C#

Différents exemples sont mentionnés ci-dessous :

Exemple n°1

Par exemple, prendre dix nombres entiers comme entrée de l'utilisateur via des arguments de ligne de commande et vérifier les nombres pairs et impairs parmi ces nombres.

Code :

using System;
using System.IO;
using System.Collections.Generic;
namespace ConsoleApp4
{
class Program
{
public static void Main(string[] args)
{
List<int> evenArray = new List<int>();
List<int> oddArray = new List<int>();
try
{
//checking if any argument exists
if (args.Length == 0)
{
Console.WriteLine("Please enter numbers to check for odd even!");
return;
}
//accessing arguments using for loop
for (int i = 0; i < args.Length; i++)
{
//checking for odd and even
if ((Convert.ToInt32(args[i]) % 2) == 0)
{
evenArray.Add(Convert.ToInt32(args[i]));
}
else
{
oddArray.Add(Convert.ToInt32(args[i]));
}
}
//displaying all the numbers entered
Console.WriteLine("Numbers entered:");
for (int i = 0; i < args.Length; i++)
{
Console.WriteLine(args[i]);
}
//displaying even numbers entered
Console.WriteLine("\nEven numbers: ");
for (int i = 0; i < evenArray.Count; i++)
{
Console.WriteLine(evenArray[i]);
}
//displaying odd numbers entered
Console.WriteLine("\nOdd numbers: ");
for (int i = 0; i < oddArray.Count; i++)
{
Console.WriteLine(oddArray[i]);
}
Console.ReadLine();
}
catch(Exception ex)
{
Console.WriteLine(ex.Message);
}
}
}
}

Sortie :

Arguments de ligne de commande C#

La capture d'écran contenant la commande pour exécuter le programme ci-dessus avec les entrées saisies et avec la sortie reçue est la suivante :

Exemple n°2

Par exemple, prendre un nombre auprès de l'utilisateur via la ligne de commande et calculer sa factorielle.

Code :

using System;
using System.IO;
using System.Collections.Generic;
namespace ConsoleApp4
{
class Program
{
public static void Main(string[] args)
{
int number;
int factorial;
try
{
//checking if any argument exists
if (args.Length == 0)
{
Console.WriteLine("Please enter a number to calculate " +
"its factorial!");
return;
}
if(args.Length > 1)
{
Console.WriteLine("Please enter only one number.");
return;
}
Console.WriteLine("The number entered is: " + args[0]);
number = Convert.ToInt32(args[0]);
factorial = number;
//calculating factorial of number using 'for' loop
for(int i = number - 1; i >= 1; i--)
{
factorial = factorial * i;
}
Console.WriteLine("Factorial of {0} is {1}: ", args[0], factorial);
Console.ReadLine();
}
catch(Exception ex)
{
Console.WriteLine(ex.Message);
}
}
}
}

Sortie :

Arguments de ligne de commande C#

La capture d'écran contenant la commande pour exécuter le programme ci-dessus avec le numéro saisi et avec le résultat reçu est la suivante :

Remarque : Nous avons exécuté les deux programmes ci-dessus à l'aide de « Invite de commandes du développeur pour VS 2019 ». Nous pouvons également exécuter ces programmes à partir de Visual Studio en fournissant des arguments de ligne de commande via la zone de texte « Arguments de ligne de commande » dans l'option « Debug » de Visual Studio.

Conclusion

Les arguments de ligne de commande sont des paramètres transmis par l'utilisateur à la méthode Main() du programme à l'aide de la ligne de commande. L'utilisateur saisit ces arguments lors de l'exécution du programme. Ces arguments sont reçus par la méthode Main() dans un tableau de chaînes de types.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:Commandes C#Article suivant:Commandes C#