Я ищу запрос LINQ, который выберет только те объекты, чей интервал дат не превышает 20 секунд. Например:
AuthenticationEssay[] essays = new AuthenticationEssay[] {
new AuthenticationEssay() { Date = DateTime.Now.AddSeconds(20), Success = false },
new AuthenticationEssay() { Date = DateTime.Now.AddSeconds(24), Success = false },
new AuthenticationEssay() { Date = DateTime.Now.AddSeconds(29), Success = false },
new AuthenticationEssay() { Date = DateTime.Now.AddSeconds(38), Success = false },
new AuthenticationEssay() { Date = DateTime.Now.AddSeconds(125), Success = false },
new AuthenticationEssay() { Date = DateTime.Now.AddSeconds(347), Success = false },
new AuthenticationEssay() { Date = DateTime.Now.AddSeconds(400), Success = false },
new AuthenticationEssay() { Date = DateTime.Now.AddSeconds(422), Success = false },
new AuthenticationEssay() { Date = DateTime.Now.AddSeconds(446), Success = false },
new AuthenticationEssay() { Date = DateTime.Now.AddSeconds(467), Success = false }
};
Я хочу выбрать только первый вхождение тех объектов, чей интервал дат не превышает 20 секунд, относительно следующего объекта. В этом случае запрос должен вернуть только первые 4 объекта. Любая идея? (
UPDATE
Извините, я забыл упомянуть, что сортирую массив по убыванию. Так что да, позиция в массиве не должна влиять на запрос.