我的代码有问题。我正在使用C#进行调试,并且正在尝试通过id查找学生。如果找不到任何匹配项,我想发送一条消息说没有那个ID的学生。我该怎么办?
我尝试了一个简单的时间:
while(i < count && !found)
{
s = studentList[i];
if (id.Equals(s.IdStudent))
{
found = true;
student = s;
}
i++;
}
if (found == false)
{
System.Console.WriteLine("There is no match");
}
我正在尝试:
student = studentList.First(i => i.IdStudent == id);
if(student == null)
{
System.Console.WriteLine("There is no match");
}
这似乎很好,但是当执行和使用不在列表中的ID时,它告诉我我无法控制该异常。
答案 0 :(得分:1)
如果使用“第一”,则期望序列中至少有一个元素。使用FirstOrDefault适合您的情况。
答案 1 :(得分:1)
您需要使用FirstOrDefault
而不是First
。