У меня есть следующий код, который просто циклически ищет условие и помещает все совпадения в новую коллекцию:
ObservableCollection<Device> allDevices = GetAllDevices();
ObservableCollection<Device> matchingDevices = new ObservableCollection<Device>();
foreach (Device device in allDevices )
{
if (device.ID != 5)
matchingDevices .Add(device);
}
Довольно просто.Я попытался преобразовать это в оператор Lambda в сочетании с методами расширения Linq, но это не удалось:
var matchingDevices = (ObservableCollection<Device>)allDevices.Where(d => d.ID != 5);
Это не удалось, потому что он не может выполнить приведение.Я попытался добавить .ToList (), но возникла та же проблема.Похоже, это должно быть просто, но я не могу найти ответ.