在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
語法可以方便地對數據進行篩選和映射操作。