如何通过DateTime从列表中选择项目

时间:2014-05-16 14:36:20

标签: c# list datetime

我有一个这些对象的列表:

public class Event
{
        public int ID;
        public DateTime DateBegin;
        public DateTime DateEnd;
        public DateTime TimeBegin;
        public int Duration;
        public string Name;
        public string Description;

        public Event()
        {

        }
}

以下是一些示例IDDateBegin属性:

1968    2014-11-23 00:00:00.000
1924    2014-12-02 00:00:00.000
1925    2014-12-04 00:00:00.000
1664    2014-12-05 00:00:00.000
1412    2014-12-06 00:00:00.000
1976    2014-12-06 00:00:00.000
1413    2014-12-07 00:00:00.000
1414    2014-12-07 00:00:00.000
1665    2014-12-07 00:00:00.000
1952    2014-12-07 00:00:00.000
1972    2014-12-07 00:00:00.000
1977    2014-12-07 00:00:00.000
1978    2014-12-07 00:00:00.000

如何循环浏览此列表,以便每天都有一个事件显示当天的所有事件。

使用以上数据的示例:

  • 14年11月23日
    • 1968
  • 14年12月2日
    • 1924
  • 14年12月4日
    • 1925
  • 14年12月5日
    • 1664
  • 14年12月6日
    • 1412
    • 1976
  • ...

1 个答案:

答案 0 :(得分:1)

您可以尝试以下方法:

var results = events.GroupBy(x=>x.DateBegin)
                    .Select(x=> new { Date = x.Key, Ids = x.Select(y=>y.ID) });

我认为events是一个包含所有事件对象的集合。最初你根据你的DateBegin对你的事件进行集合,然后在Select方法中声明一个匿名类型,它有两个属性,即当天事件的Date和Ids。