我正在为控制台程序编写一个参数解析器,但我确定我当前的实现并不是最好的方法。由于这是一个常见问题,是否有一种标准/更好/最好的方法将多个参数与可选修饰符一起传递给控制台程序?
private static void Main(params string[] args)
{
for (int i = 0; i < args.Length; i++)
{
// Is there a valid argument?
if (args[i] == "/r")
{
Console.WriteLine("Argument: /r");
// Is there a successive argument?
if (i + 1 < args.Length)
{
// Is the successive argument an argument or a modifier?
if (args[i + 1].IndexOf("/", StringComparison.CurrentCultureIgnoreCase) == -1)
{
Console.WriteLine("Argument: /r " + args[i + 1]);
}
}
}
}
}
我认为这个实现的主要问题是,我认为必须重写最后两个,如果每个参数和修饰符的块,我认为这对于大型程序来说会变得难以处理。