我有以下定义的课程
class Employee
{
public int EmpNo{get;set;}
public string Name{get;set;}
public string Designation{get;set;}
}
我有一份员工名单
List<Employee>
我可以使用FindAll()方法找到具有相似名称的员工列表。
但是我希望有一个EmpNo列表(或数组)而不是Employees列表。我可以使用for循环来构造,但是想要使用谓词来获得不同的答案。我该怎么做?还是不可能?我认为之前有类似问题的解决方案,但现在还没有得到它。
可能像FindAll(...)。ToArray()。
修改
好的我得到了答案。
FindAll(emp => emp.Designation.Equals("Executive")).Select(item => item.EmpNo).ToArray()
答案 0 :(得分:1)
替代方案是;
employees
.Where(emp => emp.Designation.Equals("Executive"))
.Select(item => item.EmpNo).ToList()
FindAll与Where之间存在轻微的性能差异,请看一下;