📅  最后修改于: 2023-12-03 15:29:45.878000             🧑  作者: Mango
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从对象列表中选择单个元素、选择多个元素以及选择特定的数据。希望本文对大家有所帮助。