Console.WriteLine("Enter the path where the text file can be found");
string path = Console.ReadLine();
string text = System.IO.File.ReadAllText("C:\\InputFile.txt");
string[] dates = text.Split('\n');
for (int i = 0; i < dates.Length; i++)
{
if (dates[i] != "" && dates[i] != null)
{
dates[i] = dates[i].Remove(dates[i].Length - 1);
}
}
for (int j = 0; j < dates.Length; j++)
{
if (dates[j] != "" && dates[j] != null)
{
DateTime currentdate = Convert.ToDateTime(dates[j-1]);
DateTime futuredate = Convert.ToDateTime(dates[j]);
if (currentdate.AddDays(1) != futuredate)
{
Console.WriteLine(" {0} {1}", currentdate.AddDays(1).ToShortDateString(), currentdate.AddDays(1).DayOfWeek);
}
}
}
当我运行该程序时,它给出了一个错误:
DateTime currentdate = Convert.ToDateTime(dates [j-1]); “索引超出了数组的范围。”
答案 0 :(得分:1)
您正在索引0
开始循环。
0 - 1
是-1
。
索引-1
处有项目因此错误。
答案 1 :(得分:0)
当j
为0
时,你会遇到问题。
答案 2 :(得分:0)
当j = 0时,j-1 = -1
日期[-1]超出了数组的范围。当j = 0
时,你需要做一些特别的事情答案 3 :(得分:0)
你的问题在这里:
DateTime currentdate = Convert.ToDateTime(dates[j-1]);
在迭代j=0
上,索引被解析为dates[j-1]
和j-1 == -1
您需要更正此循环检查此数组的第一个元素的方式。