📜  c# linq 从 IList 获取最新项目 - C# (1)

📅  最后修改于: 2023-12-03 14:39:43.436000             🧑  作者: Mango

C# LINQ 从 IList 获取最新项目

在 C# 中,LINQ(Language-Integrated Query)是一种强大的工具,用于查询和操作各种数据源。如果你有一个 IList(可从 System.Collection.Generic 命名空间访问),并且想要从中获取最新的项目,你可以使用 LINQ 查询语法很容易地实现。

代码示例

下面是一个使用 LINQ 查询从 IList 获取最新项目的示例代码:

using System;
using System.Linq;
using System.Collections.Generic;

public class Program
{
    public static void Main()
    {
        IList<Project> projects = new List<Project>
        {
            new Project("Project A", new DateTime(2021, 1, 1)),
            new Project("Project B", new DateTime(2021, 2, 1)),
            new Project("Project C", new DateTime(2021, 3, 1)),
            new Project("Project D", new DateTime(2021, 4, 1)),
        };
        
        Project newestProject = projects.OrderByDescending(p => p.CreatedDate).FirstOrDefault();
        Console.WriteLine($"The newest project is {newestProject.Name}, created on {newestProject.CreatedDate}.");
    }
}

public class Project
{
    public string Name { get; set; }
    public DateTime CreatedDate { get; set; }
    
    public Project(string name, DateTime createdDate)
    {
        Name = name;
        CreatedDate = createdDate;
    }
}

在此示例中,我们首先定义一个 Project 类来表示项目。每个项目都有一个名称和创建日期属性。

然后,我们创建了一个 IList<Project> 对象,其中包含了几个项目示例。

接下来,我们使用 LINQ 查询语法,通过按创建日期降序排列项目,然后获取第一个项目,即最新的项目。

最后,我们将最新项目的名称和创建日期打印到控制台。

输出结果:

The newest project is Project D, created on 4/1/2021 12:00:00 AM.

在这个示例中,我们使用了 LINQ 的 OrderByDescending 方法对项目进行降序排序,然后使用 FirstOrDefault 方法获取第一个项目(即最新项目)。

这种方法返回的 Project 对象将是最新的项目,或者如果列表为空,则返回 null

你可以根据需要进行修改和扩展,以适应你的数据源和条件。

希望这个示例对你有所帮助!如果你还有其他问题,请随时提问。