在C#中,可以使用where
子句结合SELECT new
语法来筛选并映射数据。where
子句用于筛选数据,而SELECT new
语法用于创建一个新的匿名类型对象。以下是一个示例:
假设有一个包含学生信息的列表List<Student>
,其中Student
类包含Id
、Name
和Age
属性。如果要筛选出年龄大于18岁的学生,并将他们的姓名和年龄映射到一个新的匿名类型对象中,可以使用如下代码:
List<Student> students = new List<Student>
{
new Student { Id = 1, Name = "Alice", Age = 20 },
new Student { Id = 2, Name = "Bob", Age = 16 },
new Student { Id = 3, Name = "Carol", Age = 25 }
};
var filteredStudents = students.Where(s => s.Age > 18)
.Select(s => new { s.Name, s.Age });
foreach (var student in filteredStudents)
{
Console.WriteLine($"Name: {student.Name}, Age: {student.Age}");
}
在上面的示例中,首先使用Where
方法筛选出年龄大于18岁的学生,然后使用Select
方法将这些学生的姓名和年龄映射到一个新的匿名类型对象中。最后,使用foreach
循环输出筛选后的学生信息。
这种结合使用where
子句和SELECT new
语法可以方便地对数据进行筛选和映射操作。