我认为;it’我的搜索方法有问题,否则它应该可以工作
本文关键字:工作 有问题 it 方法 搜索 我的 | 更新日期: 2023-09-27 18:25:07
我试图搜索一个列表,然后提取其中的一些对象,将它们放入另一个列表中,并将列表写入文件。
我认为我的代码是正确的,但当我执行它时,我会得到一个NullReference异常。如果有人能检查我的代码,我将非常感激。
这是我使用的搜索方法的代码
public void Search( string day)
{
foreach (Classes c in studentClasses)
{
if (c.Day == day)
{
studentClassesByDay.Add(c);
}
}
}
这是将新列表添加到文件的代码
private void btnDay_Click(object sender, EventArgs e)
{
SelectDayForm selectDay = new SelectDayForm();
if (selectDay.ShowDialog() == DialogResult.OK)
{
l.Search(selectDay.theDay);
trg.GenerateSortedListReport(l.studentClassesByDay, AppData.byDay);
MessageBox.Show("A list of sorted student classes written to file " + AppData.byDay+ ".");
// txtDay.Text =selectDay.theDay;
}
}
您还没有显示异常发生在哪一行(这很方便),但也没有显示studentClassesByDay
在哪里实例化。
这将是我检查的第一件事情。
你展示的代码中唯一的可能性是:
l
为空trg
为空l.studentClassesByDay
为空;或AppData
为null(尽管可能不是这样——它看起来像一个类)
只需在每次尝试取消引用之前放置一些调试语句(或调试器中的断点)并检查值。
根据您的评论,错误线路为:
studentClassesByDay.Add(c);
几乎可以保证(正如怀疑的那样)您实际上没有实例化这个变量。我会调查的。