2 Pluspunkte 0 Minuspunkte

Wie kann ich in c# die parameter verarbeiten so wie mit getopt in Python?

import sys
import getopt

def full_name():
    first_name = None
    last_name = None
    argv = sys.argv[1:]

    try:
        opts, args = getopt.getopt(argv, "f:l:")
    except:
        print("Error")

    for opt, arg in opts:
        if opt in ['-f']:
            first_name = arg
        elif opt in ['-l']:
            last_name = arg

    print( first_name +" " + last_name)

full_name()
von  

1 Antwort

0 Pluspunkte 0 Minuspunkte

In C# gibt es zwar keine integrierte Funktion wie getopt aber du kannst die Befehlszeilenargumente mithilfe der args-Parameter in der Main-Methode verarbeiten.

using System;

class Program
{
    static void Main(string[] args)
    {
        // Hier könntest du eine Methode zum Parsen der Argumente aufrufen
        ParseArguments(args);

        // Der Rest deines Programmablaufs...
    }

    static void ParseArguments(string[] args)
    {
        for (int i = 0; i < args.Length; i++)
        {
            switch (args[i])
            {
                case "-h":
                case "--help":
                    Console.WriteLine("Hilfetext hier...");
                    Environment.Exit(0);
                    break;

                case "-f":
                case "--file":
                    // Beispiel für die Verarbeitung eines Dateinamens
                    string filename = args[++i];
                    Console.WriteLine($"Dateiname: {filename}");
                    break;

                // Hier kannst du weitere Argumente verarbeiten...

                default:
                    Console.WriteLine($"Unbekanntes Argument: {args[i]}");
                    Environment.Exit(1);
                    break;
            }
        }
    }
}
von (706 Punkte)