如何从位置 1 获取命令行参数
How to get command line arguments from position 1
有没有办法在 C# 中从 args[1]
开始获取命令行参数,不包括 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++)
有没有办法在 C# 中从 args[1]
开始获取命令行参数,不包括 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++)