我正在尝试对自定义对象列表中的元素进行分组。
物体:
Public class MyObj
{
public string groupName{ get; set; }
public int year{ get; set; }
public MyObj(string groupName)
{
this.GroupName = groupName;
}
public MyObj(string groupName, int year)
{
this.GroupName = groupName;
this.Year = year;
}
}
名单 :
List<MyObj> list = new List<MyObj>();
list.Add(new MyObj("group1", 2012));
list.Add(new MyObj("group1", 2013));
list.Add(new MyObj("group2", 2012));
list.Add(new MyObj("group2", 2013));
list.Add(new MyObj("group3"));
list.Add(new MyObj("group3"));
如果我做类似的事情:
IEnumerable<IGrouping<string, MyObj>> listMyObj = list.GroupBy(o => o.Year);
“group3”将被包含在结果列表中。如何按年份对 MyObj 进行分组并在结果中保留一个空的“group3”项目?