📌  相关文章
📜  使用 LINQ 打印姓名以“S”开头且年龄大于 23 的员工的 C# 程序(1)

📅  最后修改于: 2023-12-03 15:22:13.930000             🧑  作者: Mango

使用 LINQ 打印姓名以“S”开头且年龄大于 23 的员工的 C# 程序

LINQ(Language Integrated Query)是一种数据访问技术,它使我们能够以类似 SQL 的方式查询各种数据源,包括对象集合、数据库、XML文档等等。使用 LINQ,我们只需要编写一些简单的代码,就能轻松地过滤、排序、分组和聚合数据。

本篇文章将介绍如何使用 LINQ 打印姓名以“S”开头且年龄大于 23 的员工。

示例代码
using System;
using System.Collections.Generic;
using System.Linq;

class Employee
{
    public string Name { get; set; }
    public int Age { get; set; }
}

class Program
{
    static void Main()
    {
        List<Employee> employees = new List<Employee>
        {
            new Employee { Name = "Sara", Age = 27 },
            new Employee { Name = "Steve", Age = 20 },
            new Employee { Name = "Sam", Age = 33 },
            new Employee { Name = "Sean", Age = 23 },
            new Employee { Name = "Sophia", Age = 29 },
            new Employee { Name = "Sandy", Age = 25 },
        };

        var query = from employee in employees
                    where employee.Name.StartsWith("S") && employee.Age > 23
                    select employee;

        foreach (Employee employee in query)
        {
            Console.WriteLine($"Name: {employee.Name}, Age: {employee.Age}");
        }
    }
}
分析

首先,我们定义了一个 Employee 类来表示员工。它有两个属性:Name 表示姓名,Age 表示年龄。

我们创建了一个 List<Employee> 对象来表示员工集合,并向其中添加了一些员工。

接着,我们使用 LINQ 查询语法来获取姓名以“S”开头且年龄大于 23 的员工:

var query = from employee in employees
            where employee.Name.StartsWith("S") && employee.Age > 23
            select employee;

这段代码中,我们使用 from 子句来指定要查询的数据源,也就是员工集合。然后,我们使用 where 子句来过滤数据,只选择姓名以“S”开头且年龄大于 23 的员工。最后,我们使用 select 子句来选择要返回的结果,也就是符合条件的员工对象。

最后,我们使用 foreach 循环输出查询结果:

foreach (Employee employee in query)
{
    Console.WriteLine($"Name: {employee.Name}, Age: {employee.Age}");
}
结论

使用 LINQ 查询语法,我们可以轻松地过滤、排序、分组和聚合数据。本篇文章介绍了如何使用 LINQ 打印姓名以“S”开头且年龄大于 23 的员工。我们只需编写简单的代码,就能快速地获取所需的结果。