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

C# 如何从位置1获取命令行参数,c#,command-line-arguments,C#,Command Line Arguments,是否有方法从args[1]和forward(不包括args[0])获取C中的命令行参数 我试过这个: short argslenght = (short) args.Length; string[] pargs = { "" }; for(int i = 1; i <= args.Length; i++) { pargs[i-1] = args[i]; } 谢谢您的时间。您遇到了这个错误,因为您试图从索引数组中读取的值超过了数组长度的限制。它是为最后一个值而发生的。如果有5个参数

是否有方法从args[1]和forward(不包括args[0])获取C中的命令行参数

我试过这个:

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

谢谢您的时间。

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

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

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

嗯?你已经有了,不是吗?很不清楚!args.Skip1?使用System.Linq@TaW是的,我想让第一个参数args[0]检测程序将执行什么函数,然后启动一个进程。我希望第二个参数和转发参数[1]。。。作为新进程的命令行参数。您可以将它们输入到for循环中,也可以像其他人向您展示的那样使用linq。
for(int i = 1; i <= args.Length - 1; i++)
for(int i = 1; i < args.Length; i++)