在C#中,可以使用where
子句結(jié)合SELECT new
語(yǔ)法來(lái)篩選并映射數(shù)據(jù)。where
子句用于篩選數(shù)據(jù),而SELECT new
語(yǔ)法用于創(chuàng)建一個(gè)新的匿名類型對(duì)象。以下是一個(gè)示例:
假設(shè)有一個(gè)包含學(xué)生信息的列表List<Student>
,其中Student
類包含Id
、Name
和Age
屬性。如果要篩選出年齡大于18歲的學(xué)生,并將他們的姓名和年齡映射到一個(gè)新的匿名類型對(duì)象中,可以使用如下代碼:
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歲的學(xué)生,然后使用Select
方法將這些學(xué)生的姓名和年齡映射到一個(gè)新的匿名類型對(duì)象中。最后,使用foreach
循環(huán)輸出篩選后的學(xué)生信息。
這種結(jié)合使用where
子句和SELECT new
語(yǔ)法可以方便地對(duì)數(shù)據(jù)進(jìn)行篩選和映射操作。