Я немного поработал над linq в c # .net 3.5 и чувствую, что должен быть в состоянии сделать следующее немного лучше.
Есть ли способ объединить это в один оператор linq.
Условия следующие
- Если список содержит элемент, в котором число больше или равно
порог, то мы можем использовать список
- Упорядочить список по количеству
- Упорядочить список по дате
Я также хотел бы добавить еще одно условие на счет, где я мог бы обрабатывать все элементы с количеством, большим или равным пороговому значению, одинаковым. Я мог бы сделать это, ограничив счет порогом, но я бы предпочел не делать этого в случае изменения порога. Я немного озадачен тем, как это сделать, кроме временного редактирования записей, когда я получаю их из базы данных, а не сохраняю их. то есть с порогом 3 список (1,2,3,4,5) становится (3,3 (4), 3 (5), 2,1) до сортировки по дате.
var allFaves = m_favouriteRepo.Get(user);
if(allFaves.Any(t => t.Count >= threshold))
{
var ordered = allFaves
.OrderByDescending(x => x.Count)
.ThenByDescending(x => x.SortDate)
.ToList();
}
Спасибо
Neil