如何制作对象字段

本文关键字:字段 对象 何制作 | 更新日期: 2023-09-27 18:28:12

字段Day[] calendar = new Day[365];包含类Day。正如老师所希望的那样。

但我不知道如何使我的方法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;
    }       
}

如何制作对象字段

如果我理解你想要实现的目标;您希望将Homework记录添加到Calendar对象所持有的相应Day中。

因此,首先,我们需要有一天:

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);
}

就是这样!我在查看你的代码时注意到了几件事:

  1. 您的Calendar类中有一个DayList<Homework>。你不应该需要它们中的任何一个。据我所见,Day[]已经足够了
  2. 看起来您在添加函数中重用了parts[1]。我怀疑你是否想把日期作为子节的一部分!我在代码中修复了它
  3. 您的Day类使用一个无意义的项预先填充其Homework列表。你可能需要删除它