мне нужно написать выражение LINQ на основе следующего сценария:Используя выражение LINQ, чтобы получить предыдущий элемент из коллекции
public class Meeting
{
public int Id { get; set; }
public DateTime Date { get; set; }
public bool Selected { get; set; }
}
List<Meeting> Meetings
Используя выражение LINQ, как получить metting встречающийся только перед первым, который выбрано?
Например, в Liste ниже мне нужно, чтобы получить идентификатор собрания 2.
- Id: 1 Дата: 11/1 отмеченными: ложные
- Id: 2 Дата: 12/1 Выбрано: ложные
- Id: 3 Дата: 13/1 отмеченный: правда
- Id: 4 Дата: 14/1 отмеченный: правда
Итак, вам нужно взять 'Id: 2 Date: 12/1 Selected: false', right? – dasblinkenlight
Это абсолютно правильно – Bronzato
Вы можете использовать 'TakeWhile' ([link] (https://msdn.microsoft.com/en-us/library/vstudio/bb534804)) и' LastOrDefault' ([link] (https: // msdn.microsoft.com/en-us/library/bb504095)), например 'meeting.TakeWhile (meeting => meeting.Selected == false) .LastOrDefault()'. –