List.Find()不返回值

时间:2017-06-01 14:23:29

标签: c# list lambda predicate

我有一个List<Employee> ListEmployee,我正在使用以下代码:

public void Func(Contract cont) //the contract have the employee's ID in it
{
    Employee emp = ListEmployees().Find(e => (e.ID_.Equals(cont.EmployeeId_)));

问题是,尽管列表中的员工ID与合同中的员工具有相同的ID,但List<>.Find()返回null。

Lambda表达式或其他问题是否存在问题?

编辑: Contract类具有类型为int[]cont.EmployeeId_”的员工的ID号。 Employee.ID也是int[]类型。

我正在尝试从列表中获取他的ID与合同中的ID相同的员工。

1 个答案:

答案 0 :(得分:1)

由于问题似乎没有详细说明,可能不是使用cont而是使用ctr

所以不要这样:

Employee emp = ListEmployees().Find(e => (e.ID_.Equals(cont.EmployeeId_)));
你的意思是:

Employee emp = ListEmployees().Find(e => (e.ID_.Equals(ctr.EmployeeId_)));