我有设置对象属性
class Settings
{
DateTime StartTime;
DateTime EndTime;
}
我创建了一个这个设置对象的列表。
如何使用LINQ从对象集合中获取MaxTime和MinTime?
答案 0 :(得分:12)
var minStartTime = settings.Min(setting => setting.StartTime); // returns 8am
var maxEndTime = settings.Max(setting => setting.EndTime); // returns 5pm
返回最低和最高时间。其他答案告诉你如何获得最大和最小之间的差异,这似乎不是你要求的。
答案 1 :(得分:2)
假设您想要最小和最大时间增量:
Settings[] settings = ...;
var max = settings.Max(s => s.EndTime - s.StartTime);
var min = settings.Min(s => s.EndTime - s.StartTime);
答案 2 :(得分:1)
这样做
var max = (from item in myList
select item.StartTime - item.EndTime).Max()
var min = (from item in myList
select item.StartTime - item.EndTime).Min()