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

前端 未结 3 586
佛祖请我去吃肉
佛祖请我去吃肉 2021-01-22 14:54

I have settings object with property

class Settings
{
    DateTime StartTime;
    DateTime EndTime;
}

and I have created a list of this setting

相关标签:
3条回答
  • 2021-01-22 15:27

    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()
    
    0 讨论(0)
  • 2021-01-22 15:34
    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.

    0 讨论(0)
  • 2021-01-22 15:36

    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);
    
    0 讨论(0)
提交回复
热议问题