如何从位置 1 获取命令行参数



有没有办法从args[1]和向前获取 C# 中的命令行参数,不包括args[0]

我已经尝试过这个:

short argslenght = (short) args.Length;
string[] pargs = { "" };
for(int i = 1; i <= args.Length; i++)
{
pargs[i-1] = args[i];
}

但是给了我这个错误:

System.IndexOutOfRangeException

谢谢你的时间。

您收到该错误是因为您尝试从索引数组中读取超过数组长度限制的值。它正在为最后一个值发生。如果有 5 个参数,您可以args[4]读取最后一个参数,但在循环中,您正在尝试通过导致错误的args[5]读取它。

您需要在For循环中使用Length -1,如下所示:

for(int i = 1; i <= args.Length - 1; i++)

或者从条件中删除=

for(int i = 1; i < args.Length; i++)

最新更新