我有ObservableCollection<MyClass> myCollection
和Dictionary<int, MyClass> myDictionary
。
如何将MyClass
中所有类Dictionary
的值复制到ObservableCollection
?
不幸的是,这不起作用(不能隐式转换类型......):
myDictionary = myCollection.Values
我希望找到一个性能优于以下的解决方案:
for (int i = 0; i < myDicitonary.Values.Count; i++ )
myCollection.Add(myDicationary.Values.ElementAt(i));
答案 0 :(得分:5)
可以从IEnumerable创建可观察集合。
myCollection = new ObservableCollection<MyClass>(myDictionary.Values)
如果您已经创建了集合并且不想创建新集合,那么您必须通过myDictionary.Values迭代并手动添加可观察集合中的每个值。请注意,这将在每次添加后触发集合更改事件。