【问题标题】:C# Multiple values for single argumentC# 单个参数的多个值
【发布时间】:2016-06-30 21:25:38
【问题描述】:

我刚刚学习 C#,我制作了一个接受命令行参数的控制台应用程序,但我需要一个接受多个值并将它们放入字符串数组的参数。

这是我目前所拥有的,以防不明显,参数 -colors 应该能够接受多个值并将它们放入自己的数组中。

for (int i = 0; i < args.Length; i++)
{
    switch (args[i])
    {
        case "-dob":
            birth = args[i + 1];
            birthDay = Convert.ToDateTime(birth);
            break;

        case "-name":
            name = args[i + 1];
            break;

        case "-colors":
    }
}

【问题讨论】:

  • 显示一个示例,说明您计划如何通过命令行将这些参数传递给您的程序
  • 扩展@Steve 的问题 - 通常最简单的方法是使用分隔符然后拆分,例如“红|绿|黄”。

标签: c# arguments console-application


【解决方案1】:

您可以使用特定字符分隔值,然后按字符进行拆分。例如 red.black.white 然后

var array= args[i + 1].Split('.')

【讨论】:

    【解决方案2】:

    您可以将多个值作为颜色传递并在内部将它们添加到列表中

    List<string> colors = new List<String>();
    for (int i = 0; i < args.Length; i++)
    {
        switch (args[i])
        {
            case "-color":
                colors.Add(args[i + 1]);
            break;
    
        }
    }
    

    你会把它当作

    myProgram.exe -color red -color blue

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-01-31
      • 1970-01-01
      • 2013-10-12
      • 1970-01-01
      • 2013-12-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多