linq从列表中获取对象元素


List<PrpSubjects> objListSubjects  = _objSubjectDal.GetAllSubjects();
ddlSubjects.DataSource = objListSubjects;
ddlSubjects.DataBind();
_subjectName = objListSubjects...?

_subjectName中,我想根据subjectid从objListSubjects中获取subjectname。主题列表包含subjectid和subjectname列。

问题是我有一个列表,有两列subjectid,subjectname。。。该方法返回一个主题列表。现在我想通过subjectid获取主题名称,,而不是再次查询数据库。我想在列表上使用linq来获取主题名称。。我希望我清楚我的需求

_subjectName = objListSubjects
               .Where(s => s.SubjectId == someId)
               .Select(s => s.SubjectName)
               .FirstOrDefault();

(如果没有id为someId的受试者,将返回null(

_subjectName = objListSubjects.First(s => s.SubjectID == theIdYouAlreadyHave).SubjectName;

如果你怀疑这个主题可能不存在,你可以使用

objListSubjects.FirstOrDefault(s => s.SubjectID == id);

如果null不存在,它将返回。

或者,如果您发现sql样式更易于阅读;(

_subjectName = (from s in objListSubjects 
               where s.SubjectId == someId 
               select s.SubjectName).FirstOrDefault();

相关内容

  • 没有找到相关文章

最新更新