Linq选择所有项目匹配数组

Gav*_*tes 12 c# linq

我有一个类型的数据集合,IEnumerable<Objects.LabourHours>其中包含各种员工的人工记录.我希望过滤列表并仅返回所选员工的记录,这些记录由int[] employees包含EmployeeIDs 的列表指定.

class LabourHours
{
    public int ID {get;set;}
    public int EmployeeID {get;set;}
    public int HoursWorked {get;set;}
}
Run Code Online (Sandbox Code Playgroud)

我该怎么做?我确信之前已经问过,但我在这里找不到类似的东西.我发现最接近的是用UserID对记录进行分组,这不是我需要的 - 我需要实际的记录.

cuo*_*gle 21

您可以使用LINQ Where使用Contains方法过滤列表:

var result = list.Where(x => employees.Contains(x.EmployeeID));
Run Code Online (Sandbox Code Playgroud)