使用 LINQ 从列表中获取第一个和第二个对象

Vah*_*hid -1 c# linq list

我有一个Person对象列表。如何PersonList<Person> People使用中获得满足特定条件的第一个和第二个对象LINQ

假设这是我得到的清单。我怎样才能得到第一个和第二个 18 岁以上的人,那就是詹姆斯和朱迪。

public class Person
{
    public string Name;
    public int age;
}

var People = new List<Person>
{
   new Person {Name = "Jack", Age = 15},
   new Person {Name = "James" , Age = 19},
   new Person {Name = "John" , Age = 14},
   new Person {Name = "Jodie" , Age = 21},
   new Person {Name = "Jessie" , Age = 19}
}
Run Code Online (Sandbox Code Playgroud)

Dav*_*ton 5

var topTwo = People.Where(a => a.Age > 18).Take(2).ToArray();

Person p1, p2;
if (topTwo.Any())
{
   p1 = topTwo[0];
   if (topTwo.Count > 1)
       p2 = topTwo[1];
}
Run Code Online (Sandbox Code Playgroud)