En C#, la classe Main a le paramètre string [] args.À quoi sert "string [] args" dans la classe Main?
À quoi cela sert-il et où est-il utilisé?
En C#, la classe Main a le paramètre string [] args.À quoi sert "string [] args" dans la classe Main?
À quoi cela sert-il et où est-il utilisé?
De l'C# programming guide on MSDN:
Le paramètre de la méthode principale est un tableau de chaînes qui représente les arguments de ligne de commande
Donc, si j'avais un programme (MyApp.exe) comme ceci:
class Program
{
static void Main(string[] args)
{
foreach (var arg in args)
{
Console.WriteLine(arg);
}
}
}
que j'ai commencé à la ligne de commande comme ceci:
MyApp.exe Arg1 Arg2 Arg3
la principale méthode serait p assed un tableau qui contenait trois chaînes: "Arg1", "Arg2", "Arg3".
Si vous devez passer un argument contenant un espace, placez-le entre guillemets.Par exemple:
MyApp.exe "Arg 1" "Arg 2" "Arg 3"
arguments de ligne de commande se habituent généralement lorsque vous avez besoin de transmettre des informations à votre application lors de l'exécution. Par exemple, si vous écrivez un programme qui copie un fichier d'un emplacement à un autre, vous passerez probablement les deux emplacements comme arguments de ligne de commande. Par exemple:
Copy.exe C:\file1.txt C:\file2.txt
Pour passer des paramètres de ligne de commande. Par exemple args[0]
vous donnera le premier paramètre de ligne de commande, s'il y en a un.
Vous devez avoir vu une application qui s'exécute à partir de la ligne de commande et vous laisser passer des arguments. Si vous écrivez une telle application en C#, le tableau args
sert de collection desdits arguments.
Cette façon de les traiter:
static void Main(string[] args) {
foreach (string arg in args) {
//Do something with each argument
}
}
Lorsque vous exécutez l'application, tous les arguments de ligne de commande sont analysées dans un tableau et est passé dans votre classe principale méthode pour votre lecture attentive:
http://msdn.microsoft.com/en-us/library/cb20e19t(VS.80).aspx
C'est pour si vous alliez exécuter votre application à partir de la ligne de commande. Ces paramètres seront accessibles dans le tableau args. Passez au http://www.c-sharpcorner.com/UploadFile/mahesh/CmdLineArgs03212006232449PM/CmdLineArgs.aspx pour plus de détails.
Ceci est un tableau des commutateurs de ligne de commande transmis au programme. Par exemple. Si vous démarrez le programme avec la commande "myapp.exe -c -d
" alors string[] args[]
contiendra les chaînes "-c" et "-d".
Le paramètre args stocke tous les arguments de ligne de commande donnés par l'utilisateur lors de l'exécution du programme.
Si vous exécutez votre programme à partir de la console comme ceci:
program.exe il y a 4 paramètres
Votre paramètre args contiendra les quatre cordes: "il", "sont" , « 4 », et « paramètres »
Voici un exemple de la façon d'accéder aux arguments de ligne de commande à partir du paramètre args: example
Suite à tout le monde la réponse d'un autre, il faut noter que les paramètres sont facultatifs en C# si votre application n'utilise pas d'arguments de ligne de commande.
Ce code est parfaitement valable:
internal static Program
{
private static void Main()
{
// Get on with it, without any arguments...
}
}
Outre les autres réponses. Vous devriez remarquer que ces arguments peuvent vous donner le chemin du fichier qui a été déplacé et déposé sur le fichier .exe
. Par exemple, si vous faites glisser et déposez un fichier sur votre fichier .exe
, l'application sera lancée et le arg[0]
contiendra le chemin du fichier qui a été déposé dessus.
class Program
{
static void Main(string[] args)
{
Console.WriteLine(args[0]);
}
}
ce imprimera le chemin du fichier déposé sur le fichier .exe
.
C: \ Users \ abc \ Documents \ Visual Studio \ Projects \ MyTestApp \ MyTestApp \ bin \ MyTestApp.exe
+1 belle réponse détaillée, met mon effort à la honte – andynormancx