根据最新的日期时间获取列表项

时间:2013-03-14 12:31:36

标签: c# asp.net linq datetime

我正在使用此代码阅读文章。

List<view_M04FrontpagesEntity> fList = new view_M04FrontpagesService().GetByCategoryId(0);

var article = new M02ArticlesService().GetById(fList.First<view_M04FrontpagesEntity>().M02ArticleId);

我想抓住最新article.UpdatedDate的文章,如何用linq或其他方法做到最好?

5 个答案:

答案 0 :(得分:4)

使用MoreLinq

提供的MaxBy方法
List<view_M04FrontpagesEntity> fList = new view_M04FrontpagesService().GetByCategoryId(0);

var newest = fList.MaxBy(article => article.UpdatedDate);

答案 1 :(得分:4)

您可以在LInQ中使用OrderByDescending。

var query = myList.Where(x =>x=="somePredicate")
                  .OrderByDescending(x => x.UpdatedDate ).FirstOrDefault();

返回序列的第一个元素,如果序列不包含元素,则返回默认值。

答案 2 :(得分:1)

var first = articles.OrderByDescending( a => a.UpdateDate ).First();

一般来说,就是这样。您需要自己将此转移到您的代码中,因为您发布的代码都没有帮助。

答案 3 :(得分:1)

var result = (from article in fList
        orderby article.UpdatedDate descending
        select article).First();

答案 4 :(得分:0)

这是按预期工作的。

var m04FrontpagesEntities = new view_M04FrontpagesService().GetByCategoryId(0).ToList().Select(x => new M02ArticlesService().GetById(x.M02ArticleId)).ToList().OrderByDescending(x => x.UpdatedDate); ;
var article = m04FrontpagesEntities.First();