Найти максимальное и минимальное значение DateTime в группе Linq

Я пытаюсь найти максимум и минDateTimeс из CSV импорта.

У меня есть это, чтобы импортировать данные из временногоDataTable:

var tsHead = from h in dt.AsEnumerable()
         select new
                    {
                        Index = h.Field<string>("INDEX"),
                        TimeSheetCategory = h.Field<string>("FN"),
                        Date = DdateConvert(h.Field<string>("Date")),
                        EmployeeNo = h.Field<string>("EMPLOYEE"),
                        Factory = h.Field<string>("FACTORY"),
                        StartTime = DdateConvert(h.Field<string>("START_TIME")), //min
                        FinishTime = DdateConvert(h.Field<string>("FINISH_TIME")), //max
                    };

Который работает отлично. Затем я хочу сгруппировать данные и показать время начала и время окончания, которые являются мин / макс соответствующих полей.

Пока у меня есть это:

var tsHeadg = from h in tsHead
                      group h by h.Index into g //Pull out the unique indexes
                      let f = g.FirstOrDefault() where f != null
                      select new
                                 {
                                     f.Index,
                                     f.TimeSheetCategory,
                                     f.Date,
                                     f.EmployeeNo,
                                     f.Factory,
                                     g.Min(c => c).StartTime, //Min starttime should be timesheet start time
                                     g.Max(c => c).FinishTime, //Max finishtime should be timesheet finish time
                                 };

С мыслью, чтоg.Min а такжеg.Max дал бы мне самое низкое и самое высокоеDateTime для каждого расписания (сгруппированы по индексу)

Это не работает, однако ... Каков наилучший способ найти самое высокое и самое низкое значение DateTimes в группе?

Ответы на вопрос(1)

Ваш ответ на вопрос