繁体   English   中英

使用Linq从对象属性列表中获取最小和最大时间值

[英]Get minimum and maximum time value from list of object property using Linq

我有属性的设置对象

class Settings
{
    DateTime StartTime;
    DateTime EndTime;
}

我已经创建了这个设置对象的列表。

如何使用LINQ从对象集合中获取MaxTime和MinTime?

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);

像这样做

var max = (from item in myList
      select item.StartTime - item.EndTime).Max()

var min = (from item in myList
      select item.StartTime - item.EndTime).Min()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM