0

我有如下定义的类

class Employee
{
    public int EmpNo{get;set;}
    public string Name{get;set;}
    public string Designation{get;set;}
}

我有一份员工名单

List<Employee>

我可以使用 FindAll() 方法找到具有类似名称的员工列表。

但我想要一个 EmpNo 列表(或数组)而不是员工列表。我可以使用 for 循环来构造,但想要使用谓词得到不同的答案。我该怎么做?还是不可能?我认为之前已经为类似问题找到了解决方案,但现在没有得到它。

可能是 FindAll(...).ToArray() 之类的东西。


编辑

好的,我得到了答案。

FindAll(emp => emp.Designation.Equals("Executive")).Select(item => item.EmpNo).ToArray()
4

1 回答 1

1

另一种选择是;

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

FindAll 和 Where 之间存在细微的性能差异,看看这个;

FindAll vs Where 扩展方法

于 2012-11-27T09:30:24.013 回答