In C# la classe Main ha un parametro stringa [] args.Cosa significa "stringa [] arg" nella classe principale per?
A cosa serve e dove viene utilizzato?
In C# la classe Main ha un parametro stringa [] args.Cosa significa "stringa [] arg" nella classe principale per?
A cosa serve e dove viene utilizzato?
Dal C# programming guide on MSDN:
Il parametro del metodo principale è un array di stringhe che rappresenta gli argomenti della riga di comando
Quindi, se ho avuto un programma (MiaApp.exe) come questo:
class Program
{
static void Main(string[] args)
{
foreach (var arg in args)
{
Console.WriteLine(arg);
}
}
}
che ho iniziato dalla riga di comando in questo modo:
MyApp.exe Arg1 Arg2 Arg3
il metodo principale sarebbe p assunta una matrice che conteneva tre stringhe: "Arg1", "Arg2", "Arg3".
Se è necessario passare un argomento che contiene uno spazio, inserirlo tra virgolette.Ad esempio:
MyApp.exe "Arg 1" "Arg 2" "Arg 3"
Gli argomenti della riga di comando vengono comunemente utilizzati quando è necessario passare le informazioni all'applicazione in fase di esecuzione. Ad esempio, se stai scrivendo un programma che copia un file da una posizione a un'altra probabilmente passerai le due posizioni come argomenti della riga di comando. Per esempio:
Copy.exe C:\file1.txt C:\file2.txt
Per il passaggio nei parametri della riga di comando. Ad esempio args[0]
ti darà il primo parametro della riga di comando, se ce n'è uno.
È necessario aver visto alcune applicazioni che vengono eseguite dalla riga di comando e consentono di passare loro argomenti. Se scrivi una di queste app in C#, l'array args
funge da raccolta di detti argomenti.
questo come li elabora:
static void Main(string[] args) {
foreach (string arg in args) {
//Do something with each argument
}
}
Quando si esegue l'applicazione, tutti gli argomenti della riga di comando sono analizzati in un array e passato nella tua classe principale metodo per il vostro esame:
http://msdn.microsoft.com/en-us/library/cb20e19t(VS.80).aspx
Questo è per se avevi intenzione di eseguire l'applicazione dalla riga di comando. Questi parametri saranno accessibili nell'array degli args. Vai a http://www.c-sharpcorner.com/UploadFile/mahesh/CmdLineArgs03212006232449PM/CmdLineArgs.aspx per maggiori dettagli.
Questo è un array degli switch della riga di comando che passano al programma. Per esempio. se avvii il programma con il comando "myapp.exe -c -d
" allora string[] args[]
conterrà le stringhe "-c" e "-d".
Il parametro args memorizza tutti gli argomenti della riga di comando che vengono forniti dall'utente quando si esegue il programma.
Se si esegue il programma dalla console come questo:
program.exe ci sono 4 parametri
vostro parametro args conterrà le quattro corde: "là", "sono" , "4" e "parametri"
Ecco un esempio di come accedere gli argomenti della riga di comando dal parametro args: example
seguito alla risposta di tutti gli altri, si dovrebbe notare che i parametri sono opzionali in C# se l'applicazione non usa argomenti della riga di comando.
Questo codice è perfettamente valido:
internal static Program
{
private static void Main()
{
// Get on with it, without any arguments...
}
}
Oltre alle altre risposte. Dovresti notare che questi argomenti possono darti il percorso del file che è stato trascinato e rilasciato sul file .exe
. Ad esempio, se si trascina qualsiasi file sul file .exe
, l'applicazione verrà avviata e il file arg[0]
conterrà il percorso del file su di esso.
class Program
{
static void Main(string[] args)
{
Console.WriteLine(args[0]);
}
}
questo stampa il percorso del file è sceso sul file .exe
. per esempio
C: \ Users \ abc \ Documenti \ di Visual Studio \ Projects \ MyTestApp \ MyTestApp \ bin \ MyTestApp.exe
+1 bella risposta dettagliata, mette il mio sforzo per la vergogna – andynormancx