📜  c# linq 从对象列表中选择 - C# (1)

📅  最后修改于: 2023-12-03 15:29:45.878000             🧑  作者: Mango

C# LINQ 从对象列表中选择

LINQ (Language-Integrated Query) 是 C# 中一种强大的查询语言,可以在对象、集合和数据库中进行查询。使用LINQ可以方便地处理数据,提高代码编写效率和可读性。

本文将介绍如何使用LINQ从对象列表中选择。

选择单个元素

要从对象列表中选择单个元素,可以使用FirstOrDefault()First()方法。这两个方法都可以选择第一个元素,但当列表为空时,First()会抛出异常,而FirstOrDefault()则会返回默认值。

例如,假设我们有以下的Person类:

public class Person
{
    public string Name { get; set; }
    public int Age { get; set; }
}

并且有一个包含多个Person对象的列表:

List<Person> people = new List<Person>
{
    new Person { Name = "Alice", Age = 25 },
    new Person { Name = "Bob", Age = 30 },
    new Person { Name = "Charlie", Age = 35 }
};

我们可以使用以下代码从列表中选择第一个年龄大于30的人:

var person = people.FirstOrDefault(p => p.Age > 30);

这里使用了Lambda表达式作为参数,p => p.Age > 30表示选择年龄大于30的人。如果没有符合条件的人,则person为null。

选择多个元素

要从对象列表中选择多个元素,可以使用Where()方法进行筛选,然后使用ToList()方法将结果转换为列表。

例如,我们可以使用以下代码从people列表中选择所有年龄大于30的人:

var result = people.Where(p => p.Age > 30).ToList();

这里的Lambda表达式p => p.Age > 30表示筛选出年龄大于30的人。ToList()方法将结果转换为列表。result列表中包含所有符合条件的人。

选择特定的数据

如果我们只需要从对象列表中选择特定的数据,可以使用Select()方法进行选择。

例如,我们可以使用以下代码从people列表中选择所有人的名字:

var result = people.Select(p => p.Name).ToList();

这里的Lambda表达式p => p.Name表示选择每个人的名字。result列表中包含所有人的名字。

总结

使用LINQ可以方便地处理数据,提高代码编写效率和可读性。本文介绍了如何使用LINQ从对象列表中选择单个元素、选择多个元素以及选择特定的数据。希望本文对大家有所帮助。