коллекции по нескольким полям одновременно?
Where().Where().Where() не подойдёт?
Да подойдет, но думал что может что-то получше получится придумать)
Where(x => x.a == 1 && x.b == "str")
Можно вынести в отдельный метод с названием нормальным, если там много условий, например И тогда вместо Where будет Items.RelatedToUser() условно
Или просто делегат
кмк надо отсортировать предикаты по их вероятному срабатыванию (а также по сложности расчета каждого предиката) — таким образом условия, объединенные логическим условием, будут срабатывать/откидываться максимально быстро (эффективно) (если объединены условиями «&&» / «||», но не «&» / «|»)
Или метод с параметрами делегатами, если условий не много.
В sql такую задачу решает оптимизатор запросов (бывают и промахи из-за неверной/отсутствующей статистики), в шарпе (да и, думаю, любом другом языке общего назначения) это приходится делать самому
Обсуждают сегодня