-3

嗨,我有以下代码用于在添加学生后从列表中搜索学生 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());
            }
        }
    }
}
4

1 回答 1

1

好吧,看看你的循环。它没有对学生做任何事情......相反,您正在设置这样的变量:

Maths.HYEXAM = Int16.Parse(Console.ReadLine());

这当然看起来像你正在设置一个静态变量。你是?如果是这样,您需要返回并修改“静态”的含义。弄清楚该标记如何与您感兴趣的特定学生相关联。

然后找出为什么你有两个循环 - 为什么你用一个循环遍历所有学生for,然后如果你找到一个匹配,你又用一个foreach循环遍历它们......

于 2012-12-10T18:04:40.757 回答