嗨我有以下代码,用于在添加学生后从列表中搜索学生ID。我第一次获取它,它正常工作,但当我添加另一个学生并搜索该特定ID时,我找不到它。有人能告诉我哪里出错了吗?
public void AddMarks(int id)
{
for (int i = 0; i < mystudent.Count; i++)
{
if (mystudent[i].Id == id)
{
foreach (Student st in mystudent)
{
Console.WriteLine("enter Mathematics halfyearly exam");
Maths.HYEXAM = Int16.Parse(Console.ReadLine());
Console.WriteLine("enter Mathematics annualyear exam");
Maths.ANEXAM = Int16.Parse(Console.ReadLine());
}
}
}
}
答案 0 :(得分:1)
好好看看你的循环。它没有与学生做任何 ...而是你设置这样的变量:
Maths.HYEXAM = Int16.Parse(Console.ReadLine());
肯定 lookS 就像你正在设置一个静态变量一样。你是?如果是这样,你需要返回并修改“静态”的含义。弄清楚商标如何与您感兴趣的特定学生相关联。
然后找出为什么你有两个循环 - 你为什么要用for
循环迭代所有学生,然后如果找到匹配,你就会迭代再次使用foreach
循环...