【发布时间】:2014-12-10 13:58:26
【问题描述】:
我有一个事件列表,每个事件都有一个 datetime 属性。我需要按年份将列表拆分为子列表。诀窍是,我的事件列表是从数据库中提取的并且可能会发生变化,所以我不能只是硬编码年份集并将事件分类到正确的年份。有没有办法可以将我的主要事件列表拆分为子列表,以便在每个子列表中,每个事件都有相同的年份?所以我最终会得到一个包含所有 2010 年事件的子列表,一个包含所有 2011 年事件的子列表,等等。
我的列表是这样创建的:
foreach (var ev in eventResults)
{
eventsList.Add(new Event()
{
Name = ev.Title,
Month = CultureInfo.CurrentCulture.DateTimeFormat.GetAbbreviatedMonthName(ev.StartDate.Month),
Day = ev.StartDate.Day,
Year = ev.StartDate.Year
});
}
【问题讨论】:
-
GroupBy 是你要找的:stackoverflow.com/questions/7325278/group-by-in-linq