函数具有object类型的参数。我调试它以查看程序的其他部分发送给我的数据类型。基础是ObservableCollection。如何将其转换为列表?
答案 0 :(得分:61)
只需添加名称空间using System.Linq;
并使用ObservableCollection对象中的方法ToList()
答案 1 :(得分:53)
取决于ObservableCollection
中的对象类型...我将假设此示例为int
:
IEnumerable<int> obsCollection = (IEnumerable<int>)GetCollection();
var list = new List<int>(obsCollection);
答案 2 :(得分:19)
鉴于ObservableCollection<T>
实现IEnumerable<T>
,您可以将其提供给List<T>
的构造函数:
List<T> myList = new List<T>(myObservableCollection);
其中T
是集合中项目的类型。
答案 3 :(得分:4)
ObservableCollection
实施IList<T>
,因此您应该可以使用ToList()
。
答案 4 :(得分:2)
Items属性返回IList。 See http://msdn.microsoft.com/en-us/library/ms132435.aspx
答案 5 :(得分:0)
我认为这里的问题是,当您尝试将ObservableCollection转换为List或使用时,可能会动态修改ObservableCollection,因此您可能需要使用各种类型的监视程序计时器,直到ObservableCollection完成