当前位置: 首页 > 编程语言 > C#

InvalidOperationException-Sequencecontainsmultipleelements分享

时间:2023-04-10 14:37:58 C#

InvalidOperationException:Sequencecontainsmultipleelements我有一个薪资程序的代码如下。第一个字典包含主数据表中的员工ID和相应的基本工资。第二个字典包含员工id和对应的底薪,用于薪资拟合表——进行处理。我想为每个在主表中不匹配的员工id更新工资补贴基本工资。(工资变化)。varOHEMDictionary=employees.OrderBy(es=>es.empID).ToDictionary(od=>od.empID,od=>od.salary);varSalaryFitmentDictionary=salaryFitments.Where(x=>x.U_PD_Code.Trim().ToString()=="SYS001").OrderBy(es=>es.U_Employee_ID).ToDictionary(od=>od.U_Employee_ID,od=>od.U_PD_Amount);vardifference=OHEMDictionary.Where(kv=>SalaryFitmentDictionary[kv.Key]!=kv.Value);difference.ToList().ForEach(x=>{decimalsalary=x.Value.Value;varcodeToUpdate=salaryFitments.Where(y=>y.U_Employee_ID.Equals(x.Key)).Select(z=>z.Code).SingleOrDefault();`**<---此处抛出异常**`varsalaryFitment=salaryFitmentService.GetSalaryFitment(codeToUpdate);if(salaryFitment!=null){//保存记录salaryFitmentService.UpdateSalaryFitment(salaryFitment,salary.ToString());}});但是,我没有断定错误'序列包含多个元素'。我该如何解决这个错误?您可以使用FirstOrDefault(),但如果存在多个元素,SingleOrDefault将引发异常。这里可以看到single或者default方法到底做了什么:http://msdn.microsoft.com/en-us/library/system.linq.enumerable.singleordefault(v=vs.100).aspx以上是C#学习教程:InvalidOperationException:Sequence包含多个元素共享的所有内容。如果对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右边联系管理员删除。如需转载请注明出处: