In C# hat die Main-Klasse den Parameter string [] args.Was ist "string [] args" in der Hauptklasse?
Was ist das für und wo wird es verwendet?
In C# hat die Main-Klasse den Parameter string [] args.Was ist "string [] args" in der Hauptklasse?
Was ist das für und wo wird es verwendet?
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
Zum Übergeben von Befehlszeilenparametern. Zum Beispiel gibt args[0]
Ihnen den ersten Befehlszeilenparameter, wenn es einen gibt.
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
}
}
Wenn Sie die Anwendung ausführen, werden alle Befehlszeilenargumente in ein Array analysiert und in die Klasse Hauptmethode zum Nachlesen bestanden:
http://msdn.microsoft.com/en-us/library/cb20e19t(VS.80).aspx
Das ist, wenn Sie Ihre Anwendung über die Befehlszeile ausführen würden. Auf diese Parameter wird im Array args zugegriffen. Gehen Sie zu http://www.c-sharpcorner.com/UploadFile/mahesh/CmdLineArgs03212006232449PM/CmdLineArgs.aspx für weitere Details.
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".
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
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...
}
}
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
+1 schön detaillierte Antwort, setzt meine Bemühungen zu beschämen – andynormancx