#linq
#linq
Вопрос:
Как я могу преобразовать этот запрос linq в одну строку?
var closets = (from v in options
select v.ExceriseDate).Min();
var option = options.Where(v => v.ExceriseDate == closets).Single();
return option;
Ответ №1:
Вот так:
options.OrderBy(v => v.ExceriseDate).First();
Я также добавлю, что вы не хотите использовать Single()
, если не можете гарантировать, что оно будет уникальным. Это вызовет исключение, если существует более одного. Это произошло бы, если бы два ваших объекта совместно использовали одно и то же ExceriseDate
. Наконец, если вы предпочитаете синтаксис запроса для Linq методу expression:
var option = (from v in options
orderby v.ExceriseDate
select v).First();
Комментарии:
1. Я хочу вернуть объект option, а не DateTime