我有一个控制台应用程序,它使用许多命令行开关来控制各种方法。每个命令行开关都由一个 for 循环中的 switch 语句处理,该循环遍历每个 args。
for (int x = 0; x < args.Length; x++)
{
switch (args[x])
{
...
}
}
这非常适合我的需要,但是我需要添加一个 --loop 开关,它会根据 --set-timeout 开关指定的超时时间来无限期地循环前面的参数。
我到目前为止的代码是:
switch (args[x])
{
case "--set-timeout-5m":
timeout = 300000;
System.Threading.Thread.Sleep(timeout);
break;
....
case "--loop":
x = 0;
break;
}
问题是设置 x 不会导致 for 循环从 args 开始继续。它只是坐在那里。
我期望 x 具有范围,因为代码在 for 循环中并且在 Visual Studio 中不会生成错误。我也期待 break 语句打破案例并将 x 传递给 for 循环。
谁能解释为什么它不起作用或发布解决方法?