Получить минимальное и максимальное значение времени из списка свойств объекта с помощью Linq - PullRequest
2 голосов
/ 04 февраля 2011

У меня есть объект настроек со свойством

class Settings
{
    DateTime StartTime;
    DateTime EndTime;
}

, и я создал список этого объекта настроек.

Как я могу получить MaxTime и MinTime из коллекции объектов, используя LINQ

Ответы [ 3 ]

12 голосов
/ 04 февраля 2011
var minStartTime = settings.Min(setting => setting.StartTime);    // returns 8am
var maxEndTime = settings.Max(setting => setting.EndTime);        // returns 5pm

Возвращает самое низкое и самое высокое время. Другие ответы говорят вам, как получить разницу между максимальным и минимальным значением, которое, по-видимому, не соответствует вашим запросам.

2 голосов
/ 04 февраля 2011

Предполагая, что вы хотите минимальное и максимальное время дельта:

Settings[] settings = ...;

var max = settings.Max(s => s.EndTime - s.StartTime);
var min = settings.Min(s => s.EndTime - s.StartTime);
1 голос
/ 04 февраля 2011

Сделай так

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

var min = (from item in myList
      select item.StartTime - item.EndTime).Min()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...