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

发布于 2024-10-16 05:43:35 字数 179 浏览 3 评论 0原文

我有带有属性的设置对象

class Settings
{
    DateTime StartTime;
    DateTime EndTime;
}

,并且创建了该设置对象的列表。

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

I have settings object with property

class Settings
{
    DateTime StartTime;
    DateTime EndTime;
}

and I have created a list of this setting object.

How can I get the MaxTime and MinTime from the collection of objects using LINQ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

微凉 2024-10-23 05:43:35
var minStartTime = settings.Min(setting => setting.StartTime);    // returns 8am
var maxEndTime = settings.Max(setting => setting.EndTime);        // returns 5pm

这将返回最低和最高时间。其他答案告诉您如何获得最大值和最小值之间的差异,这似乎不是您所要求的。

var minStartTime = settings.Min(setting => setting.StartTime);    // returns 8am
var maxEndTime = settings.Max(setting => setting.EndTime);        // returns 5pm

This returns the lowest and highest times. Other answers are telling you how to get the difference between max and min, which does not appear to be what you asked for.

只为守护你 2024-10-23 05:43:35

假设您想要最小和最大时间增量:

Settings[] settings = ...;

var max = settings.Max(s => s.EndTime - s.StartTime);
var min = settings.Min(s => s.EndTime - s.StartTime);

Assuming you want a minimum and maximum of the time deltas:

Settings[] settings = ...;

var max = settings.Max(s => s.EndTime - s.StartTime);
var min = settings.Min(s => s.EndTime - s.StartTime);
写下不归期 2024-10-23 05:43:35

这样做

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

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

Do it like this

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

var min = (from item in myList
      select item.StartTime - item.EndTime).Min()
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文