【发布时间】:2013-08-28 06:40:22
【问题描述】:
这是我的类结构的简化版本:
public class TransferObject
{
public List<Event> events { get; set; }
public TransferObject()
{
events = new List<Event>();
}
}
public class Event
{
public List<Data> eventData { get; set; }
public Event()
{
eventData = new List<Data>();
}
}
public class Data
{
public int someData {get; set;}
public DateTime date { get; set; }
}
我想要做的是获取eventData 列表中的所有Data 对象,并将它们放入由date 分组的新列表分组列表中。
我曾考虑将所有 Data 对象放入一个临时列表中,然后使用 Linq 将该列表分组,但我想知道是否有更优雅的方法可以在不使用临时列表的情况下做到这一点。
【问题讨论】:
-
你有什么输入?
-
eventData.OrderBy(x => x.date);应该可以工作(未经测试) -
这样的?
var evtByDate = evt.eventData.GroupBy(x => x.Date).ToDictionary(x => x.Key, x => x.ToList());