【发布时间】:2013-05-29 17:33:57
【问题描述】:
我有一个文件,其中包含由换行符分隔的多个数据条目,每个条目都有一个日期。 知道这个日期后,我想将这些条目放入一个基于等效天数的列表中——但我只关心距当前日期 7 天内的日期。然后我有一个包含这 7 个列表的顶级列表,其中再次包含包含该特定日期的条目。
这是我目前所拥有的:
static void Main(string[] args)
{
List<List<string>> week = new List<List<string>>(7);
List<string> day = new List<string>();
FileInfo fi = new FileInfo("TestCases.txt");
StreamReader reader = fi.OpenText();
string line;
DateTime current = DateTime.Now;
int currentday = current.DayOfYear;
while ((line = reader.ReadLine()) != null)
{
string[] data = line.Split(',');
DateTime date = DateTime.Parse(data[0]);
int dateday = date.DayOfYear;
int diff = dateday - currentday;
if (diff < 0) diff += 365;
if (diff >= 0 && diff < 7)
{
day.Add(line);
}
week.Add(day);
}
Display(week);
Console.ReadKey();
}
还有我的显示功能:
static void Display(List<List<string>> list)
{
foreach (var sublist in list)
{
foreach (var value in sublist)
{
Console.Write(value);
Console.Write('\n');
}
Console.WriteLine();
}
}
这将输出所有适当的条目(在接下来的 7 天内出现的条目) 但它最终会将所有条目添加到一个列表中,并将同一个列表连续 7 次放入我的顶级列表中。
我对从这里开始的进展有一个粗略的想法,但我对 C# 不太熟悉,而且我不断收到错误,而且谷歌并没有给我太多帮助。
感谢您的宝贵时间
【问题讨论】:
标签: c#