我有一个班级名单 Test
public class Test
{
public int Id { get; set; }
public string Name { get; set; }
public DateTime CreatedDate { get; set; }
public DateTime? ModifiedDate { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
列表有以下数据
List<Test> lstTest = new List<Test>();
lstTest.Add(new Test() { Id = 1, Name = "Test 1", CreatedDate = Convert.ToDateTime("05/05/2005"), ModifiedDate = Convert.ToDateTime("09/05/2005") });
lstTest.Add(new Test() { Id = 2, Name = "Test 2", CreatedDate = Convert.ToDateTime("06/05/2005"), ModifiedDate = Convert.ToDateTime("07/05/2005") });
lstTest.Add(new Test() { Id = 3, Name = "Test 3", CreatedDate = Convert.ToDateTime("08/05/2005"), ModifiedDate = null });
Run Code Online (Sandbox Code Playgroud)
现在我想找到最后更新的记录,例如在Test三个记录的列表中,第一条记录是最新更新的,因为它的修改日期是最新的,所以我怎么找到它?
现在让我们改变场景
lstTest.Add(new Test() { Id = 4, Name = "Test 4", CreatedDate = Convert.ToDateTime("10/05/2005"), ModifiedDate = null });
Run Code Online (Sandbox Code Playgroud)
所以第四条记录是基于创建日期的最新记录,所以我们如何找到第四条记录谢谢
您可以按日期对列表进行排序并使用 LINQ 获取记录:
var latest = lstTest.OrderByDescending(x => x.ModifiedDate ?? x.CreatedDate).First();
Run Code Online (Sandbox Code Playgroud)