Hallo zusammen,
ich beschäftige mich gerade mit der Kommandozeilenparameter in C# und Visual Studio. Im Visual Studio habe ich eine einfache Anwendung erstellt und testmässig drei Parameter eingegeben. Später möchte ich in der Eingabeauforderung die Anwendung (exe) starten. Je nach ausgewählten Parameter sollte die Anwendung vershiedener Text ausgeben.
Meine Frage:
Wie benutze ich die Parameter im C# Code bzw. wie kann ich bestimmen was passiert wenn einen Parameter ausgewählt wurde ? Soll ich If-Anweisungen benutzen ? So ist der Code :
Danke !
static void Main(string[] args)
{
var arg1 = args[0];
var arg2 = args[1];
var arg3 = args[2];
//Wie kann ich es hier programmieren, wenn ich in der Eingabeauforderung z.B die Parameter eigebe dass sich die Anwedung entprechend verhält ? Wenn Parameter X ausgewählt wurde dann mach das und das
if (?)
Console.WriteLine("Das ist a");
Console.ReadLine();
if (?)
Console.WriteLine("Das ist b");
Console.ReadLine();
if (?)
Console.WriteLine("Das ist c");
Console.ReadLine();
}
Ich versteh nicht genau was du machen willst,
args.Length gibt dir die Anzahl an Parametern, also die Länge des arrays.
Mit args[0,...] greifst du dann auf die einzelnen Parameter zu.
Hi JimStark du hast Recht. Eigentlich was ich wissen möchte ist wie ich innerhalb des Codes alles steueren kann. Wenn Parameter X ausgewählt wurde dann mach das und das. Übrigens Danke für den Link. Leider dort wird nur gezeigt wie man alle Parameter in der Konsole ausgeben kann.
Besser so (ungetestet) :
foreach(string arg in args)
{
if (arg.ToLower() == "/a") Console.WriteLine("/a gewählt");
if (arg.ToLower() == "/b") Console.WriteLine("/b gewählt");
if (arg.ToLower() == "/c") Console.WriteLine("/c gewählt");
}
args[0] ist der Name der Anwendung selber.
Grüße Bernd
Workshop : Datenbanken mit ADO.NET
Xamarin Mobile App : Finderwille Einsatz App
Unternehmenssoftware : Quasar-3
Hallo,
args[0] ist der Name der Anwendung selber.
Nein. Nicht in C#/.NET.
Gruß, MarsStein
Non quia difficilia sunt, non audemus, sed quia non audemus, difficilia sunt! - Seneca
Hi,
als Anmerkung und gerade wenn es etwas vielfältiger und komplexer wird kann es auch das Leben erleichtern, wenn man eine entsprechende Lib benutzt.
Für eine meiner Anwendungen habe ich z.B. https://www.nuget.org/packages/CommandLineParser/ verwendet.
Wobei die einfachste Möglichkeit (siehe @BerndFfm wenn du nur wenige und unkomplizierte Argumente brauchst) hier definitiv den Vorzug genießen sollte. Muss ja keiner das Rad neu erfinden...
LG
Hallo,
args[0] ist der Name der Anwendung selber.
Nein. Nicht in C#/.NET.
Gruß, MarsStein
Tatsächlich ! Wo hatte ich das nur wieder her ?
Grüße Bernd
Workshop : Datenbanken mit ADO.NET
Xamarin Mobile App : Finderwille Einsatz App
Unternehmenssoftware : Quasar-3
Wo hatte ich das nur wieder her ? Environment.GetCommandLineArgs gibt dir den Pfad der Anwendung als erstes Argument.
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code