Я пытаюсь найти опрятный способ найти все значения в наблюдаемой коллекции, которые отвечают определенным критериям. Для этого примера, чтобы держать вещи просто позволяю сказать, что сва коллекция содержит Интс, и я пытаюсь найти все элементы, которые больше 5.Как вернуть все элементы в ObservableCollection, которые удовлетворяют условию C#
Лучшего способ я в настоящее время знаю, делать это, как это
ObservableCollection<Int> findAllGreaterThanFive (ObservableCollection<Int> numbers)
{
ObservableCollection<Int> numbersGreaterThanFive;
foreach(Int number in numbers)
{
if (number > 5)
{
numbersGreaterThanFive.add(number);
}
}
return numbersGreaterThanFive;
}
Очевидно, игнорировать любые простые решения, которые используют преимущества того, что я ищу ints Мне нужно решение, которое работает с любым ObservableCollection любого типа с любым условием. Мне просто интересно, проверяет ли каждый элемент цикл foreach, а условный - лучший способ сделать это?
Почему вы возвращаете новую коллекцию? –
Пошлите фильтр как 2-й параметр вашего метода. В этом случае используйте Func. –
Я бы сказал, используя LINQ. Отложенное исполнение - ваш друг, в этом случае. –