查找项目属性列表

时间:2012-11-27 09:08:55

标签: c# arraylist

我有以下定义的课程

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()

1 个答案:

答案 0 :(得分:1)

替代方案是;

employees
.Where(emp => emp.Designation.Equals("Executive"))
.Select(item => item.EmpNo).ToList()

FindAll与Where之间存在轻微的性能差异,请看一下;

FindAll vs Where extension-method