事实上,它是 LINQ 结果可能与该问题无关,但无论如何我都会提到它 - 因为这是导致该问题的上下文。
我运行 LINQ 查询。结果是;
IEnumerable<MyClass>
我想将结果放入 ObservableCollection 中;
ObservableCollection<MyClass>
我该如何做这个演员? (无需运行 IEnumerable 并将元素复制到 ObservableCollection)。我注意到 LINQ 有一些 To..() 函数,但它似乎对我的转换没有帮助..?
只需使用:
ObservableCollection<Foo> x = new ObservableCollection<Foo>(enumerable);
这将完成所需的复制。没有办法观察实时查询的变化 - 尽管ObservableQuery<T>
是一个有趣的(尽管具有挑战性的)。
如果您想要一个扩展方法来执行此操作,很简单:
public static ObservableCollection<T> ToObservableCollection<T>
(this IEnumerable<T> source)
{
if (source == null)
{
throw new ArgumentNullException("source");
}
return new ObservableCollection<T>(source);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)