2012-12-10 25 views
-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()); 
      } 
     } 
    } 
} 
+2

你的代码没有意义:为什么你遍历列表两次?数学是什么,你可能是指圣玛斯? – BlackBear

+0

调试器告诉你什么 – pm100

回答

1

那么看看你的循环。它没有做任何事情学生......而不是你设置的变量是这样的:

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

这当然看起来就像你设置一个静态变量。你是?如果是这样,你需要回去修改“静态”的含义。制定出标记怎样来与你感兴趣的特定学生相关联

然后制定出为什么你有循环 - 你为什么要遍历所有的学生与for循环,那么如果你找到一个匹配,你用foreach循环再次迭代它们...