我对这个主题进行了大量研究,但我发现所有的信息都是误导性的,与我所寻找的信息无关。因此,我希望这里的任何人都能给我一个明确的解释。
基本上,我有一个程序,我想在任务计划程序中使用它。但是,无论我在框中输入什么参数,它都会显示“索引位于数组界外”。
我知道参数与args相关联?那么,有谁能告诉我我的代码有什么问题吗?
public static void Main(string[] args)
{
string paramList = string.Join("", args);
string[] parameter = paramList.Split(',');
string ScanPath = parameter[0]; //Which directory to scan
string MailToAddress = parameter[1]; //Which e-mail to send the log to
string ScanHours = parameter[2]; //How many hours to scan
}
我在codeproject上找到了这段代码。我假设第一个参数与第一个参数相关联,以此类推。
在任务计划程序中,我基本上浏览到发布的可执行文件:
![enter image description here](https://istack.dev59.com/emZks.webp)
当然,在运行程序时,
path
和mail
部分要长得多,但这只是为了举例说明。我需要删除逗号吗?并且/或在每个参数前面添加
-
?还是完全不同的东西?提前感谢!
args.Length
,而不是仅仅假设用户提供了正确数量的参数。我希望日志能够准确地显示发生了什么。 - undefined[1]
开始,当我尝试将[1]
与[0]
交换时,错误仍然停留在[1]
。这意味着错误发生在第二行,无法继续执行。 - undefined