我需要一个分组列表的分组列表;我有一堆文章,我需要按年份分组,并在每年之内按月分组。在页面上看起来像这样:
第一条标题
第2条标题
第三条标题
第4条标题
我知道如何获取一个分组列表,例如
var yearList = articles.GroupBy(x => x.Year);
但是,如何将已分组列表的列表分组?
这是我的文章课:
public class Article
{
public String Title { get; set; }
public String DateDisplay { get; set; }
public String MoreLink { get; set; }
public int Month { get; set; }
public int Year { get; set; }
}
我想要按年份分组的列表,其中包含按月份分组的列表
假设您有一个Article
具有Year
和Month
属性的类,则可以这样做:
var perYearAndPerMonth = articles.GroupBy(a => a.Year)
.Select(yearGroup => new
{
Year = yearGroup.Key,
PerMonth = yearGroup.GroupBy(a => a.Month)
.Select(monthGroup => new
{
Month = monthGroup.Key,
Articles = monthGroup.ToList()
})
});
当然没有必要将月份分组转换为匿名类型,但是可以使您更清楚地从结果中得到什么。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句