1

我有一个具有以下属性的对象列表:RoomName、Date、StartTime、EndTime。

我想得到每个 Roomname 的总小时数,这被计算为 EndTime-StartTime。

如果我有一个列表:

room1 12/2/2012 11.0 12.0
room1 12/2/2012 13.0 15.0
room2 12/3/2012 11.0 12.0

当我将 room1 发送到 LINQ 查询时,我希望答案为 (12.0-11.0)+(15.0-13.0),即 3。如何使用 LINQ 表达式来做到这一点?

4

1 回答 1

1

我相信这会进行分组和计算

var query = from r in rooms
            group by r.RoomName into g
            select new {
                RoomName = g.Key,
                TotalHours = g.Sum(x => x.EndTime-x.StartTime)
            };

因此,您将开始和结束时间存储为浮点数,您可以简单地将它们相减并进行计算。

于 2012-10-23T11:47:17.303 回答