我正在检索List并需要获取特定记录。我尝试过几种不同的方式,但每种方式都会产生错误。我使用以下代码收到上述错误:
List<DashboardModel> dashboardData = CompanyClient.GetContractorRankingByMajorIDAndContractorID(majorId, contractorId);
DashboardModel SSQScore = new DashboardModel();
SSQScore = dashboardData.Where(x=>x.ModuleInstanceID == 1).FirstOrDefault;
方法返回List(GetContractor ...)。
非常感谢任何帮助!
答案 0 :(得分:5)
此
SSQScore = dashboardData.Where(x=>x.ModuleInstanceID == 1).FirstOrDefault;
应该是这样写的
SSQScore = dashboardData.FirstOrDefault(x=>x.ModuleInstanceID == 1);
或者您可以在()
之后使用FirstOrDefault
更正您的陈述,
SSQScore = dashboardData.Where(x=>x.ModuleInstanceID == 1).FirstOrDefault();
答案 1 :(得分:2)
SSQScore = dashboardData.Where(x => x.ModuleInstanceID == 1).FirstOrDefault;
你错过了括号,它向编译器说“使用这个方法”,而不是调用方法。将其更改为
SSQScore = dashboardData.Where(x => x.ModuleInstanceID == 1).FirstOrDefault();
或者,您不需要执行Where(...).FirstOrDefault()
,后者可以采用谓词表达式。这相当于:
SSQScore = dashboardData.FirstOrDefault(x => x.ModuleInstanceID == 1);