Ang*_*ker 2 linq lambda visual-studio-2010 c#-4.0
我有以下代码,只是循环查找条件并将所有匹配放入一个新的集合:
ObservableCollection<Device> allDevices = GetAllDevices();
ObservableCollection<Device> matchingDevices = new ObservableCollection<Device>();
foreach (Device device in allDevices )
{
if (device.ID != 5)
matchingDevices .Add(device);
}
Run Code Online (Sandbox Code Playgroud)
很简单.我尝试将此转换为与Linq扩展方法结合使用的Lambda语句,但它失败了:
var matchingDevices = (ObservableCollection<Device>)allDevices.Where(d => d.ID != 5);
Run Code Online (Sandbox Code Playgroud)
这失败是因为它无法进行演员表演.我尝试附加.ToList(),但发生了同样的问题.听起来这应该很简单,但我找不到答案.
var matchingDevices =
new ObservableCollection<Device>(allDevices.Where(d => d.ID != 5));
Run Code Online (Sandbox Code Playgroud)
ObservableCollection有一个构造函数,它接受一个IEnumerable,这就是你的Where子句给你的东西.
| 归档时间: |
|
| 查看次数: |
8052 次 |
| 最近记录: |