字段Day[] calendar = new Day[365];
包含日类。正如老师想要的那样。
但我不知道如何让我的方法 AddRecord 保存在此字段中。我用
hw.Add(new Homework(Convert.ToDateTime(part), parts[1], parts[2]));
将其添加到列表。但我需要将数据保存到Day[] calendar = new Day[365];
我只是不知道如何。
课程日历
class Calendar
{
Day d = new Day();
List<Homework> hw;
Day[] calendar = new Day[365];
//Day[0] = (Convert.ToDateTime("9.3.2008 16:05"), "M", "text"));
public Calendar()
{
hw = d.GetList();
}
public void AddRecord(string line)
{
string[] parts = line.Split(' ');
string part = parts[0] + " " + parts[1];
hw.Add(new Homework(Convert.ToDateTime(part), parts[1], parts[2]));
}
上课日
class Day
{
List<Homework> hw = new List<Homework>();
public List<Homework> GetList()
{
hw = new List<Homework>();
string datum = "29.5.2005 16:55"; //!
hw.Add(new Homework(Convert.ToDateTime(datum), "INF", "THREE"));// !
return hw;
}
}
课堂作业
class Homework
{
public DateTime dt; }
public string subject;
public string content;
public Homework(DateTime dt, string subject, string content)
{
String.Format("{0:d.m.yyyy HH:mm}", dt);
this.dt = dt;
this.subject = subject;
this.content = content;
}
}
答案 0 :(得分:0)
如果我理解你想要完成的事情;您希望将Homework
记录添加到Day
对象所持有的Calendar
。
首先,我们需要得到这一天:
DateTime dataDate = Convert.ToDateTime(part); //Or something
Day dueDate = calendar.FirstOrDefault(d => d.Date = dataDate);
请注意,这可能无法首次使用,因为您只需要比较那一天。如果您创建的Day
对象的时间与Homework
项不同,则即将进行的null
检查将失败。我会将这种比较作为练习留给你,但如果你无法弄明白,可以随意发表评论。
然后我们需要给它做作业项目:
if (dueDate != null) //Check if we found the date!
dueDate.AddHomeworkItem(new Homework(dataDate, parts[2], parts[3]));
else
throw new Exception("Date not found; invalid data read"); //Or something
//Failing silently is usually bad
当然,这需要Day
类中的方法:
public void AddHomeworkItem(Homework item)
{
hw.Add(item);
}
多数民众赞成!在查看代码时我注意到的一些事情:
Day
课程中有List<Homework>
和Calendar
。你不应该需要其中任何一个。 {I} Day[]
就足够了。parts[1]
。我怀疑你希望日期成为subect的一部分!我在我的代码中修复了它。Day
课程会使用无意义的项目预先填充其Homework
列表。你可能需要删除它。