将可观察集合转换回常规集合

时间:2009-11-01 22:39:42

标签: c# observablecollection

函数具有object类型的参数。我调试它以查看程序的其他部分发送给我的数据类型。基础是ObservableCollection。如何将其转换为列表?

6 个答案:

答案 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()

http://msdn.microsoft.com/en-us/library/bb342261.aspx

答案 4 :(得分:2)

答案 5 :(得分:0)

我认为这里的问题是,当您尝试将ObservableCollection转换为List或使用时,可能会动态修改ObservableCollection,因此您可能需要使用各种类型的监视程序计时器,直到ObservableCollection完成