按日期对数组项目进行分组

v.g*_*.g. 3 c# linq generics group-by list

假设我有一个像这样的对象列表

list <type>
---------------
o1: date-23.03
o2: date-23.03
o3: date-24.05
o4: date-25.05
Run Code Online (Sandbox Code Playgroud)

如何制作另一个包含具有相同日期的对象内部列表的列表?例如:

new list<list<type>>
-----------------------
List<type> innerList1 {o1, o2}
List<type> innerList2 {o3}
List<type> innerList3 {o4}
Run Code Online (Sandbox Code Playgroud)

可能的LINQ解决方案很酷,但算法也不错.

Tim*_*ter 8

不要使用List<object>但是aList<RealClass>

假设它实际上是一个已知的类型,它是一个DateTime属性:

List<List<ClassName>> objectsbyDate = listOfObjects
    .GroupBy(x => x.DateTimeProperty.Date)
    .Select(g => g.ToList())
    .ToList();
Run Code Online (Sandbox Code Playgroud)

如果它实际上string是评论的属性,那为什么会这样呢?你应该解决这个问题.但是,如果你坚持,string你仍然可以使用Enumerable.GroupBy.但是如果两个物体有不同的年份呢?由于未存储年份,您甚至不会提及它.

DateTime如果要显示它,请在最后一步将a转换为字符串.