Avatar ·

Bester Weg zum Parsen von Befehlszeilenargumenten in C#: Von manuellem Parsing bis zu fertigen Bibliotheken

Hallo zusammen! Ich bin neu in C# und schreibe eine Konsolenanwendung, die Parameter aus der Befehlszeile entgegennehmen soll. Zum Beispiel startet der Benutzer das Programm so:\n\n```\nMyApp.exe --input file.txt --output result.txt --verbose\n```\n\nDerzeit parse ich `args` manuell mit einer `for`-Schleife und `switch`, aber der Code wird furchtbar: viele verschachtelte if-else, schwer neue Flags hinzuzufügen, und wenn der Benutzer `--input` ohne Wert übergibt, stürzt das Programm mit einer Exception ab. Hier ist, was ich habe:\n\n```csharp\nstatic void Main(string[] args)\n{\n string input = null;\n string output = null;\n bool verbose = false;\n\n for (int i = 0; i < args.Length; i++)\n {\n switch (args[i])\n {\n case "--input":\n input = args[++i]; // wenn es kein nächstes Argument gibt