📅  最后修改于: 2023-12-03 15:17:19.883000             🧑  作者: Mango
在LINQ中,选择是与投影算子一起使用的一种方法,它允许程序员指定要选择的元素类型,并且只返回每个对象中所选属性的值。
选择通过使用 select
关键字实现。一般的语法如下所示:
IEnumerable<TResult> query = from element in source
select element.property;
假设有一个包含学生对象的列表,并且我们只想获取他们的名字:
List<Student> students = new List<Student>();
students.Add(new Student { Name = "Alice", Age = 19 });
students.Add(new Student { Name = "Bob", Age = 20 });
students.Add(new Student { Name = "Charlie", Age = 21 });
var names = from student in students
select student.Name;
在上面的例子中,我们使用 select
关键字获取了每个 Student
对象的 Name
属性。最终,我们得到了一个包含所有学生名字的列表。
除了只选择特定的属性外,您还可以根据某些条件过滤源序列中的元素。这可以通过在 select
子句之前添加 where
子句来完成。
var youngStudents = from student in students
where student.Age < 20
select student.Name;
在上面的代码中,我们使用 where
子句过滤年龄小于20岁的学生,并用 select
子句获取他们的名字。
在LINQ中,选择是将源序列转换为另一个对象序列并必要时过滤结果的一种强大的方法。它非常适合于需要从集合中获取特定属性的任务。通过在 select
子句之前使用 where
子句,您可以根据需要过滤元素。