代码之家  ›  专栏  ›  技术社区  ›  YodasMyDad

使用LINQ按日期获取数据

  •  4
  • YodasMyDad  · 技术社区  · 14 年前

    我有以下项目的列表

    public class Item
    {
        public string Link { get; set; }
        public string Title { get; set; }
        public string Content { get; set; }
        public DateTime PublishDate { get; set; }
        public FeedType FeedType { get; set; }
    
        public Item()
        {
            Link = "";
            Title = "";
            Content = "";
            PublishDate = DateTime.Today;
            FeedType = FeedType.RSS;
        }
    }
    

    哪一个只是经过解析的RSS源,我现在希望能够查询列表<item>,以仅提取发布日期为今天的项目?

    但是我有点迷路了…有人能开灯吗?

    3 回复  |  直到 14 年前
        1
  •  9
  •   Dennis Burton    14 年前

    如果我理解正确,这里的目标是在比较时去掉时间。

    扩展方法语法

    var today = DateTime.Today;
    items.Where( item => item.PublishDate.Date == today );
    

    查询语法

    var today = DateTime.Today;
    from item in items
    where item.PublishDate.Date == Today
    select item
    
        2
  •  4
  •   Albin Sunnanbo    14 年前
    DateTime today = DateTime.Today;
    var todayItems = list.Where(item => item.PublishDate.Date == today);
    
        3
  •  0
  •   Preet Sangha    14 年前
    List<Item> itemList = ...;
    ListItem<Item> filtered items 
                     = itemList.Where(it => it.PublishDate >= DateTime.Today).ToList()