【发布时间】:2011-02-04 06:52:55
【问题描述】:
我有带属性的设置对象
class Settings
{
DateTime StartTime;
DateTime EndTime;
}
我已经创建了这个设置对象的列表。
如何使用 LINQ 从对象集合中获取 MaxTime 和 MinTime?
【问题讨论】:
标签: c# linq collections
我有带属性的设置对象
class Settings
{
DateTime StartTime;
DateTime EndTime;
}
我已经创建了这个设置对象的列表。
如何使用 LINQ 从对象集合中获取 MaxTime 和 MinTime?
【问题讨论】:
标签: c# linq collections
var minStartTime = settings.Min(setting => setting.StartTime); // returns 8am
var maxEndTime = settings.Max(setting => setting.EndTime); // returns 5pm
这将返回最低和最高时间。其他答案告诉您如何获得最大值和最小值之间的差异,这似乎不是您所要求的。
【讨论】:
假设您想要最小和最大时间增量:
Settings[] settings = ...;
var max = settings.Max(s => s.EndTime - s.StartTime);
var min = settings.Min(s => s.EndTime - s.StartTime);
【讨论】:
- operator 代表日期时间。
这样做
var max = (from item in myList
select item.StartTime - item.EndTime).Max()
var min = (from item in myList
select item.StartTime - item.EndTime).Min()
【讨论】: