从满足条件的集合中提取对象

本文关键字:提取 取对象 集合 满足 条件 | 更新日期: 2023-09-27 18:09:55

我想知道你是否知道在c#中使用LINQ从满足条件的集合中拉出对象列表?

我正试图从一个id在整数列表中匹配的列表中提取Person对象的列表。请参阅下面的代码(我试图拉其id在整数列表中的所有人员对象)。

public class Person
{
    public int Id { get; set; }
    public string FirstName { get; set; }
    public string LastName { get; set; }
}
...
var intList = new List<int>() { 1, 2, 3, 4 };
var perList = new List<Person>
{
    new Person {Id = 1, FirstName = "Thomas", LastName = "Joseph"},
    new Person {Id = 2, FirstName = "Joseph", LastName = "Austin"},
    new Person {Id = 3, FirstName = "Lee", LastName = "Hentry"},
    new Person {Id = 4, FirstName = "Abraham", LastName = "Tony"}
};

从满足条件的集合中提取对象

您可以使用WhereContains方法:

var people = perList
    .Where(person => intList.Contains(person.Id))
    .ToList();

您可以使用WhereAny方法:

var filteredPeople = perList.Where(person => intList.Any(person.Id)).ToList();