Использование Linq для получения данных по дате - PullRequest
4 голосов
/ 04 ноября 2010

У меня есть список следующего

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-канал? Теперь я хочу иметь возможность запрашивать список , чтобы извлекать элементы только с сегодняшней PublishDate?

Однако я немного растерялся ... Кто-нибудь может пролить свет, пожалуйста?

Ответы [ 3 ]

9 голосов
/ 04 ноября 2010

Если я правильно понимаю, цель здесь - убрать время при сравнении.

Синтаксис метода расширения

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
4 голосов
/ 04 ноября 2010
DateTime today = DateTime.Today;
var todayItems = list.Where(item => item.PublishDate.Date == today);
0 голосов
/ 04 ноября 2010
List<Item> itemList = ...;
ListItem<Item> filtered items 
                 = itemList.Where(it => it.PublishDate >= DateTime.Today).ToList()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...