以列表作为参数启动进程?

时间:2018-07-19 06:12:02

标签: c# list arguments parameter-passing

我想将两个字符串列表(一个被选中的名称和一个命名为剩余的名称)作为程序的参数传递给我,但是我不知道该怎么做。预先感谢您的帮助。

这是我最近尝试过的:

+

2 个答案:

答案 0 :(得分:1)

<div class="wrapper"> <div class="item"> <label>Label 1</label> </div> <div class="item gray"> <label>Label 2</label> <span class="price">Price: $100</span> </div> <div class="item gray"> <label>Label 3</label> </div> <div class="item"> <label>Change</label> </div> </div>用来接收命令行参数的参数总是 Main。您不能改用string[]

我建议,如果您需要两个字符串列表,则只需将每个列表作为单个命令行参数,并用逗号分隔即可:

List<string>

然后以这种方式运行它:

using System;
using System.Collections.Generic;

class Program
{
    static void Main(string[] args)
    {
        if (args.Length != 2)
        {
            Console.WriteLine("Required arguments: <list of checked> <list of remaining>");
            return;
        }
        var checkedList = new List<string>(args[0].Split(','));
        var remainingList = new List<string>(args[1].Split(','));

        Console.WriteLine("Checked items:");
        foreach (var item in checkedList)
        {
            Console.WriteLine($"  {item}");
        }
        Console.WriteLine("Remaining items:");
        foreach (var item in remainingList)
        {
            Console.WriteLine($"  {item}");
        }
    }
}

您将获得以下输出:

Program.exe a,b,c d,e,f,g

答案 1 :(得分:0)

我建议传递一个逗号分隔(或其他定界符),然后使用Main方法将它们分开

List<string> checkeds = args[0].Split(',').ToList();
List<string> remaining = args[1].Split(',').ToList();
-- Futher processing ...

您需要像

那样将值传递到您的应用程序
  

AppName a,b,c,d e,f,g,h