C# Verständnisfrage

Status
Für weitere Antworten geschlossen.

Gary12345

Ensign
Registriert
Sep. 2012
Beiträge
246
Zitat aus meinem Fachbuch:

Die Daten werden dazu einfach als Argumente hinter dem Programmnamen aufgelistet.

Thema: Parameter und Befehlszeilenargumente

Frage: Was sind Argumente? Was bedeuted das? Was sind Befehlszeilenargumente?

Danke :)
 
Wenn du ein Programm aufrufst (zum Beispiel über die CMD)
Machst du das so:

programm.exe

Du kannst aber auch Befehlszeilenargumente übergeben zum Beispiel so:

programm.exe "argument1" "argument2" "argument3"
 
Argumente sind ganz einfach Informationen die du deinem Programm per Command Line übergeben kannst.

Kleines Beispiel:

In der Windows Commandline (cmd.exe) kannst du z.B. folgendes eintippen:
Code:
format C:

format ist der Name des Programms, und C: ist das Argument, das dem Programm sagt, welches Laufwerk es formatieren soll.



Du kannst natürlich auch, falls du eine Anwendung nicht per Command Line Aufrufst, einfach eine Verknüpfung erstellen und die Argumente anhängen:
Code:
"C:\{Pfad zum Programm}\Programm.exe" -argument1 -argument2 -argument3
 
Zuletzt bearbeitet: (Klammer vergessen)
"C:\{Pfad zum Programm\Programm.exe" -argument1 -argument2 -argument3

also setzen wir folgendes ein:

"C:\{Pfad zum Programm\Programm.exe" -kopieren -Verknüpfung erstellen -löschen

Das da hinten sind also Argumente?
 
Ja, und diese Argumente werden deiner Main-Methode als String-Array übergeben.
 
Gary12345 schrieb:
"C:\{Pfad zum Programm\Programm.exe" -kopieren -Verknüpfung erstellen -löschen

Das da hinten sind also Argumente?
Vorsicht; In diesem Beispiel werden deinem Programm 4(!) Argumente übergeben "-kopieren", "-Verknüpfung", "erstellen" und "-löschen". Darauf musst du achten, wenn du die Argumente auswertest.
 
Genau.
Argumente werden durch Leerzeichen getrennt.

Wenn in deinen Argumenten Leerzeichen enthalten sind (z.B. bei Pfaden), dann musst du Anführungszeichen drum rum machen, um dem Programm klar zu machen, dass es nur ein einziges Argument darstellen soll und nicht mehrere.

kleines Beispiel:

Dein Programm sieht so aus:
Code:
class Program
{
    static void Main(string[] args)
    {
        for(int i = 0; i < args.Length; i++)
        {
            Console.WriteLine(i + ": " + args[i]);
        }
    }
}
Das Programm würde einfach nur alle Argumente ausgeben, die es übergeben bekommt.

Der Aufruf: program.exe C:\Program Files (x86)\ würde folgendes Augabe liefern:
Code:
0: C:\Program
1: Files
2: (x86)\

wohingegen der Aufruf: program.exe "C:\Program Files (x86)\" das ausgibt:
Code:
0: C:\Program Files (x86)\
 
Ok dann zum nächsten Punkt: was genau ist Args? Könntest du deinen Code so genau erklären wie es geht?
 
Args ist das String Array, welches die Argumente (args) enthält.
 
OK glaube als totaler Anfänger muss man das noch nicht wissen, was Args und Array ist?
 
Parameter: ein formaler Bezeichner, welcher z.B. vorgibt was eine Methode alles erwartet
Argument: ein konkreter Wert

a,b... parameter
int addition(int a, int b){return a+b;};

4,3... argumente
print(addition(4,3));
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben