Wie, um alle Elemente in eine ObservableCollection das erfüllen einer Bedingung C#

Ich bin auf der Suche nach einem ordentlichen Weg zu finden, alle Werte in eine observable collection, welche bestimmte Kriterien erfüllen. Für dieses Beispiel um Dinge einfach zu halten sagen wir, dass seine Sammlung enthält Ganzzahlen und ich versuche zu finden, alle Elemente, die größer sind als 5.

Die beste Möglichkeit, die ich derzeit wissen, es zu tun ist, wie dieses

ObservableCollection<Int> findAllGreaterThanFive (ObservableCollection<Int> numbers)
{
    ObservableCollection<Int> numbersGreaterThanFive;

    foreach(Int number in numbers)
    {
        if (number > 5)
        {
            numbersGreaterThanFive.add(number);    
        }
    }

    return numbersGreaterThanFive;
}

Offensichtlich ignorieren alle einfachen Lösungen, die die Vorteile der Tatsache, ich bin auf der Suche nach ints brauche ich eine Lösung, die funktioniert mit jedem ObservableCollection jede Art mit jeder Bedingung. Ich Frage mich nur, ob die überprüfung jedes Element mit der foreach-Schleife und die bedingte ist der beste Weg, es zu tun?

  • warum sind Sie der Rückkehr eine neue Kollektion?
  • Senden Sie in den filter 2. parameter der Methode. Verwenden Sie eine Func<int,bool> in diesem Fall.
  • Ich würde sagen, die Verwendung von LINQ. Verzögerte Ausführung ist dein Freund in diesem Fall.
InformationsquelleAutor DomAyre | 2014-09-09
Schreibe einen Kommentar