如何检查是否尚未分配lambda表达式



我的代码有问题。我正在与C#一起做一个crud,我正在逐步找到一个学生。如果您没有找到任何匹配,我想发送一条消息,说没有该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时,它告诉我我不控制异常。

如果首先使用,则期望是序列中至少有一个元素。使用FirstOrdOdefault应该适合您的情况。

您需要使用FirstOrDefault而不是First

最新更新