Wie Linq/Lambda mit ObservableCollection<T>

Ich habe den folgenden code, der einfach Schleifen Suche nach einem Zustand und setzt alle Spiele in eine neue Sammlung:

ObservableCollection<Device> allDevices = GetAllDevices();
ObservableCollection<Device> matchingDevices = new ObservableCollection<Device>();
foreach (Device device in allDevices )
{
    if (device.ID != 5)
        matchingDevices .Add(device);
}

Ziemlich einfach. Ich habe versucht, zu konvertieren, das in eine Lambda-Anweisung in Verbindung mit der Linq-extension-Methoden, aber es fehlschlägt:

var matchingDevices = (ObservableCollection<Device>)allDevices.Where(d => d.ID != 5); 

Dies schlägt fehl, da nicht die Besetzung. Ich habe versucht, anfügen .ToList(), aber das gleiche problem aufgetreten. Es klingt wie diese sollte einfach sein, aber ich kann die Antwort nicht finden.

InformationsquelleAutor AngryHacker | 2010-08-29
Schreibe einen Kommentar