问题描述
||
我有日期时间值(例如12/01/2010 10:10:222 ..)如何按降序仅显示年份?例如,2011、2010、2009、2008等。我需要按字段的年份部分进行分组,然后将其返回。我实际上需要返回年份和名称。我需要将该名称用于其他功能,这就是为什么我需要2个值的原因。
谢谢你的帮助...
解决方法
目前尚不清楚您的意思,但您可能只想要以下内容:
var query = collection.GroupBy(record => record.DateProperty.Year)
.OrderBy(group => group.Key);
如果这不是您想要的,请提供更多详细信息-理想情况下,请提供一些示例输入和所需的输出。
如果您只希望每个组中的一个条目,并且很乐意采用任何一个条目来获取名称,并且只希望年份,则可以执行以下操作:
var query = collection.GroupBy(record => record.DateProperty.Year)
.Select(g => new { Year = g.Key,Name = g.First().Name })
.OrderBy(x => x.Year);
, 我将使用Distinct和OrderByDescending扩展:
var years = IQueryableObject
.Distinct(x => x.Year).OrderByDescending(x => x.Year).ToList();