LINQ Groupby对象列表中的日期

时间:2011-12-14 12:28:16

标签: c# linq group-by

我有以下对象的列表:

public  class Item
{
    public DateTime DliveryDate { get; set; }
    public String Order { get; set; }
}

如何使用LINQ将此List<Item>按日期分组?

我使用了以下查询,但没有在日期组中获得例外结果获得垃圾日期为0001/1/1的List对象

var r = from i in Items
        group i by i.DliveryDate into s
        select s;

4 个答案:

答案 0 :(得分:0)

也许你的ChangeDateTime包含小时/时间信息,你应该这样做

var listdategroup = from i in psrAlertLogItems
group i by i.DliveryDate.Date into s select s;

仅获取日期时间的日期组件

答案 1 :(得分:0)

这应该返回你需要的东西:

var listdategroup = from x in psrAlertLogItems.AsEnumerable<Item>()
                    group x by x.DliveryDate.Date into s
                    select s;

答案 2 :(得分:0)

可能这可以帮助你..

var sorted_lists = from sort in lists
               group sort by sort.DateInfo into sorted
               select sorted;

我得到了正确的结果..

答案 3 :(得分:0)

您是否尝试使用扩展方法

 var itemsGruopedByDate = Items.GroupBy(item => item.DliveryDate ).ToList();

只是另一种选择。

我希望它有用。

干杯。