Linq Sélectionner tous les éléments correspondant à un tableau

J’ai une collection de données de type IEnumerable contenant des enregistrements de main-d’œuvre pour divers employés. Je souhaite filtrer la liste et ne renvoyer que les enregistrements de certains employés, spécifiés par une liste d’ int[] employees contenant les EmployeeID l’ EmployeeID .

 class LabourHours { public int ID {get;set;} public int EmployeeID {get;set;} public int HoursWorked {get;set;} } 

Comment pourrais-je m’y prendre? Je suis sûr que cela a déjà été demandé, mais je ne trouve rien de semblable ici. Le plus proche que j’ai trouvé implique de regrouper les enregistrements par UserID, ce qui n’est pas ce dont j’ai besoin – j’ai besoin des enregistrements réels.

Vous pouvez filtrer votre liste avec LINQ Where utilisant la méthode Contains :

 var result = list.Where(x => employees.Contains(x.EmployeeID));