Just nu i M3-nätverket
Gå till innehåll

Command Line Arguments Parser [Problem med mellanslag]


kikotte

Rekommendera Poster

Försöker göra som dom har gjort det. http://www.codeproject.com/Articles/3111/C-NET-Command-Line-Arguments-Parser

 

Men jag har problemet att när jag skriver in som dom gjorde. -param1 "Nice stuff !" för mig så får jag bara upp det här "Nice" allt som har ett mellanslag kommer inte upp.

public Form1(string[] Args)
        {
            InitializeComponent();
            Arguments CommandLine = new Arguments(Args);
            if (CommandLine["param1"] != null)
                label1.Text = (CommandLine["param1"]);
}

Och Arguments.cs är samma från sidan.

Länk till kommentar
Dela på andra webbplatser

En enklare form som man kan bygga en klass på...

        static void Main(string[] args)
        {

            Dictionary<string, string> dict = new Dictionary<string,string>();
            foreach (string str in args)
            {
                try
                {
                    string[] keyValue = str.Trim().Split("=".ToCharArray());
                    dict.Add(keyValue[0], keyValue[1]);
                }
                catch (Exception) {
                    Console.WriteLine("The arguments should have the \"key=value\" format. Make also sure to not pass duplicated arguments");
                    return;
                }
            }

            foreach (string str in dict.Values) Console.WriteLine(str);
            return;
        }
Länk till kommentar
Dela på andra webbplatser

 

En enklare form som man kan bygga en klass på...

        static void Main(string[] args)
        {

            Dictionary<string, string> dict = new Dictionary<string,string>();
            foreach (string str in args)
            {
                try
                {
                    string[] keyValue = str.Trim().Split("=".ToCharArray());
                    dict.Add(keyValue[0], keyValue[1]);
                }
                catch (Exception) {
                    Console.WriteLine("The arguments should have the \"key=value\" format. Make also sure to not pass duplicated arguments");
                    return;
                }
            }

            foreach (string str in dict.Values) Console.WriteLine(str);
            return;
        }

Så hur blir det då?

 

test.exe key=test testcar=supercar

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...