没有从列表中获取一些项目

时间:2012-12-10 18:01:49

标签: c#

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

1 个答案:

答案 0 :(得分:1)

好好看看你的循环。它没有与学生做任何 ...而是你设置这样的变量:

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

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

然后找出为什么你有两个循环 - 你为什么要用for循环迭代所有学生,然后如果找到匹配,你就会迭代再次使用foreach循环...