C#中where子句與SELECT new的結(jié)合使用是怎樣的

c#
小樊
104
2024-08-12 03:44:36

在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類包含IdNameAge屬性。如果要篩選出年齡大于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)行篩選和映射操作。

0