缺少日期计划

时间:2012-04-03 16:06:54

标签: c# date io

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]); “索引超出了数组的范围。”

4 个答案:

答案 0 :(得分:1)

您正在索引0开始循环。

0 - 1-1

索引-1处有项目因此错误。

答案 1 :(得分:0)

j0时,你会遇到问题。

答案 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

您需要更正此循环检查此数组的第一个元素的方式。