2009-02-16 6 views

Antwort

70

Vom C# programming guide on MSDN:

Der Parameter der Main-Methode ist ein String-Array, das die Befehlszeilenargumente

So hatte darstellt, wenn ich ein Programm (MyApp.exe) wie folgt aus:

class Program 
{ 
    static void Main(string[] args) 
    { 
    foreach (var arg in args) 
    { 
     Console.WriteLine(arg); 
    } 
    } 
}

Dass ich in der Befehlszeile wie folgt gestartet:

MyApp.exe Arg1 Arg2 Arg3

die Main-Methode p wäre assed ein Array, das drei Strings enthielt: "Arg1", "Arg2", "Arg3".

Wenn Sie ein Argument übergeben müssen, das ein Leerzeichen enthält, müssen Sie es in Anführungszeichen setzen.Beispiel:

MyApp.exe "Arg 1" "Arg 2" "Arg 3"

Befehlszeilenargumente werden häufig verwendet, wenn Sie zur Laufzeit Informationen an Ihre Anwendung übergeben müssen. Wenn Sie beispielsweise ein Programm schreiben, das eine Datei von einem Ort auf einen anderen kopiert, würden Sie wahrscheinlich die beiden Orte als Befehlszeilenargumente übergeben. Zum Beispiel:

Copy.exe C:\file1.txt C:\file2.txt
+0

+1 schön detaillierte Antwort, setzt meine Bemühungen zu beschämen – andynormancx

10

Zum Übergeben von Befehlszeilenparametern. Zum Beispiel gibt args[0] Ihnen den ersten Befehlszeilenparameter, wenn es einen gibt.

0

Sie müssen einige Anwendungen gesehen haben, die von der Befehlszeile ausgeführt werden und Sie Argumente übergeben können. Wenn Sie eine solche App in C# schreiben, dient das Array args als die Sammlung der genannten Argumente.

Diese, wie Sie verarbeiten sie:

static void Main(string[] args) { 
    foreach (string arg in args) { 
     //Do something with each argument 
    } 
} 
1

Dies ist ein Array der Befehlszeilenschalter, die an das Programm übergeben werden. Z.B. Wenn Sie das Programm mit dem Befehl "myapp.exe -c -d" starten, enthält string[] args[] die Zeichenfolgen "-c" und "-d".

1

Der args-Parameter speichert alle Befehlszeilenargumente, die vom Benutzer beim Ausführen des Programms angegeben werden.

Wenn Sie Ihr Programm von der Konsole wie folgt ausführen:

program.exe gibt es 4 Parameter

Ihr args Parameter wird die vier Zeichenfolgen enthalten: "Es", "sind" , „4“ und „Parameter“

Hier ist ein Beispiel dafür, wie die Befehlszeilenargumente von dem args Parameter zuzugreifen: example

11

Zusätzlich zu allen anderen Antwort, sollten Sie beachten, dass die Parameter in C# sind optional, wenn Ihre Anwendung keine Befehlszeilenargumente verwenden.

Dieser Code ist perfekt gültig:

internal static Program 
{ 
    private static void Main() 
    { 
     // Get on with it, without any arguments... 
    } 
} 
0

Neben den anderen Antworten. Sie sollten beachten, dass diese Argumente Ihnen den Dateipfad geben können, der auf die Datei .exe gezogen und abgelegt wurde. Wenn Sie eine Datei auf die Datei .exe ziehen und dort ablegen, wird die Anwendung gestartet und die Datei arg[0] enthält den Dateipfad, der darauf abgelegt wurde.

class Program 
{ 
    static void Main(string[] args) 
    { 
     Console.WriteLine(args[0]); 
    } 
} 

dies wird der Pfad der Datei drucken auf der .exe Datei gelöscht. z

C: \ Benutzer \ abc \ Documents \ Visual Studio \ Projects \ MyTestApp \ MyTestApp \ bin \ MyTestApp.exe

Verwandte Themen