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

C# 使用LINQ从列表中获取第一个和第二个对象,c#,linq,list,C#,Linq,List,我有一个Person对象的列表。如何使用LINQ从列出人员中获取满足特定条件的第一个和第二个人员对象 假设这是我的清单。我怎样才能得到第一个和第二个超过18岁的人,那就是詹姆斯和朱迪 public class Person { public string Name; public int age; } var People = new List<Person> { new Person {Name = "Jack", Age = 15}, new Per

我有一个
Person
对象的列表。如何使用
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}
}
公共类人物
{
公共字符串名称;
公共信息;
}
var People=新列表
{
新人{Name=“Jack”,年龄=15},
新人{Name=“James”,年龄=19},
新人{Name=“John”,年龄=14},
新人{Name=“Jodie”,年龄=21},
新人{Name=“Jessie”,年龄=19}
}
您可以在此处使用“Take()”函数

在您的情况下,以下代码将获得前2个元素:

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}
}

People.Take(2);
公共类人物
{
公共字符串名称;
公共信息;
}
var People=新列表
{
新人{Name=“Jack”,年龄=15},
新人{Name=“James”,年龄=19},
新人{Name=“John”,年龄=14},
新人{Name=“Jodie”,年龄=21},
新人{Name=“Jessie”,年龄=19}
}
人。拿(2);
以下代码将为您提供年龄为18岁的前2个元素:

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}
}

People.Where(x => x.Age > 18).Take(2);
公共类人物
{
公共字符串名称;
公共信息;
}
var People=新列表
{
新人{Name=“Jack”,年龄=15},
新人{Name=“James”,年龄=19},
新人{Name=“John”,年龄=14},
新人{Name=“Jodie”,年龄=21},
新人{Name=“Jessie”,年龄=19}
}
人。其中(x=>x.年龄>18岁)。取(2);

这与之前由@David Pilkington发布的答案不一样吗。@Red arrower!红箭真可笑!说实话,我一点也不在乎名声。我来这里只是为了提问和学习:)@PaulB你当然是correct@DavidPilkington谢谢大卫,我能从两个不同的变量中得到答案吗?p1和p2?@Vahid我已经更新了我的答案
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}
}

People.Take(2);
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}
}

People.Where(x => x.Age > 18).Take(2);