簡體   English   中英

LINQ按對象列表中的日期分組

[英]LINQ Groupby a Date in a List of Object

我有以下對象的列表:

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;

也許您的ChangeDateTime包含小時/時間信息,您應該這樣做

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

只獲取日期時間的日期部分

這應該返回您需要的內容:

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

也許這可以幫助你

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

我得到正確的結果。

您是否使用擴展方法嘗試過

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

只是一種選擇。

我希望它有任何用處。

干杯。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM