我有以下代码:
public List<IAction> Dispatch(string[] arg)
{
int time=0;
int i = 0;
int j = 0;
List<IAction> t = new List<IAction>(10);
do
{
if (arg[j][0] == '/') // I get index out of bounds here
{
Options opt = new Options();
time = opt.Option(arg[j]);
j++;
}
else
{
if (int.Parse(arg[j]) >= 0 && int.Parse(arg[j]) <= 20)
{
t.Add(new ComputeParam(int.Parse(arg[j])));
i++;
j++;
}
}
} while (i != arg.Length);
for (int z = 0; z < t.Count; z++)
{
((ComputeParam)t[z]).Time = time;
}
return t;
}
为什么会发生错误...我只是传递参数,如果它们是数字,我将它们添加到列表中,否则我设置一个选项并继续。这里有什么问题?
编辑:我通过 2 /t:Med 2 3 这些是论点。我已经检查过它 arg[1] (在这种情况下)为空,但它不是。