我有一个列表,我想根据对象的属性对其进行分组。但是,当我输出分组列表时,它似乎对对象中的每个属性进行分组,即使我没有为它们分配任何值。由于未分配值的默认值应该相同,因此它们应该组合在一起,对吗?
new { x.SentDate.Year }
我知道我可以通过使用匿名类型(
public void PopulateMessages()
{
List<Message> Messages = new DataRepository().GetMessages();
Func<Message, GroupProperties> func = x => new GroupProperties
{
Year = x.SentDate.Year
};
IEnumerable<IGrouping<GroupProperties, Message>> GroupedMessages = Messages.OrderByDescending( x => x.SentDate )
.GroupBy( func )
.ToList();
}
public class GroupProperties
{
public int Year { get; set; }
public int Month { get; set; }
public int Day { get; set; }
}