Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 接受设置的参数_C#_Visual Studio_Command Line_Arguments - Fatal编程技术网

C# 接受设置的参数

C# 接受设置的参数,c#,visual-studio,command-line,arguments,C#,Visual Studio,Command Line,Arguments,您好,我正在编写一个命令行程序,正在努力接受参数 我已经让应用程序工作,他们可以在那里输入程序和数据,即 CMD>software (name) 我只是不知道如何让他们配置设置,例如使用–s命令更改服务器。我需要让应用程序像这样工作: CMD>software –s 192.168.1.1 (name) CMD>software (name) -s 192.168.1.1 我知道如何实际更改服务器等。只是不确定如何使用参数接受这些设置。您只需要让Main方法接受字符串数

您好,我正在编写一个命令行程序,正在努力接受参数

我已经让应用程序工作,他们可以在那里输入程序和数据,即

CMD>software (name)
我只是不知道如何让他们配置设置,例如使用–s命令更改服务器。我需要让应用程序像这样工作:

CMD>software –s 192.168.1.1 (name)

CMD>software (name) -s 192.168.1.1 

我知道如何实际更改服务器等。只是不确定如何使用参数接受这些设置。

您只需要让
Main
方法接受字符串数组:

public class Test
{
    static void Main(string[] args)
    {
        for (int i = 0; i < args.Length; i++)
        {
            Console.WriteLine("{0}: {1}", i, args[i]);
        }
    }
}
请注意,与其他一些语言不同,
args[0]
不是二进制文件的名称-它实际上是二进制文件的第一个参数


有第三方库可以帮助将一系列命令行参数转换为更有用的设置。例如,在《野田佳彦时代》中,我们嵌入了。

您的主要方法声明看起来如何?感谢您的回复。我很抱歉问了一些愚蠢的问题,但是我如何将for循环中的信息转换成字符串呢?白痴:你是什么意思?它们已经在字符串中(在
args
数组中)。您可以使用
stringfirstarg=args[0]如果你真的想…很抱歉,我忘记了主方法声明中的字符串数组,但我仍然不确定在for循环中放什么???@Idiot:我不确定如何从这里回答你。我已经向您介绍了如何获取用户放在命令行上的字符串的信息。然后,如何处理这些字符串是一个单独的问题-尽管您应该按照我的答案底部段落中的链接,找到一个(多个)第三方库进行解析。感谢您的回复。对不起,我应该说得更清楚些。我目前有一个switch语句,它检查数组的长度,然后根据长度1或2执行以下操作:
case1:string 1=args[0]
case2:string 1=args[0];字符串2=args[1]我遇到的问题是,他们可能没有输入设置,也不一定以相同的顺序输入,而且真的不知道如何管理不同的长度?
test.exe foo bar baz

0: foo
1: bar
2: baz