我遇到了这个 LINQ 查询的性能问题。数据已加载到 this.students 中。现在,当我调用 GetStudentData 函数说 1000 次时,它会产生巨大的开销。有没有办法在不将 LINQ 更改为循环的情况下改进这一点
public Student GetStudentData()
{
IEnumerable<Students> studentTypes = this.students.Where(x => (x.studentsId == studentId && x.StduentType.Equals(studentType)));
if(studentTypes.Count==0) return new Student() { studentid=studentID};
return (Student)studentTypes.First();
}
所以这是使用我的原始版本循环 10000 次时的结果
原始版本:平均 5.6 秒新版本 @des 的代码FirstOrDefault
:3.6 秒