自IList添加元素的ObservableCollection [英] Add elements from IList to ObservableCollection
本文介绍了自IList添加元素的ObservableCollection的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个ObservableCollection,我想为IList的内容设置为这一个。现在,我可以创建集合的新实例..:
公开的ObservableCollection<酒吧GT; OBS =新的ObservableCollection<酒吧及GT;();
公共无效美孚(IList的<酒吧GT;清单)
{
OBS =新的ObservableCollection<酒吧及GT;(名单);
}
但我怎么能采取实际IList中的内容并把它添加到我的现有的ObservableCollection?我一定要遍历所有元素,还是有更好的办法?
公共无效美孚(IList的<酒吧GT;清单)
{
的foreach(在列表VAR榆)
obs.Add(榆树);
}
解决方案
您可以做的。
公共无效美孚(IList的<酒吧GT;清单)。
{
list.ToList()的ForEach(OBS。加);
}
或作为一个扩展方法,
公共静态无效的AddRange< T>(本的ObservableCollection< T>收集,IEnumerable的< T>项目)
{
items.ToList()。的ForEach(collection.Add);
}
I have an ObservableCollection, and I'd like to set the content of an IList to this one. Now I could just create a new instance of the collection..:
public ObservableCollection<Bar> obs = new ObservableCollection<Bar>();
public void Foo(IList<Bar> list)
{
obs = new ObservableCollection<Bar>(list);
}
But how can I actually take the content of the IList and add it to my existing ObservableCollection? Do I have to loop over all elements, or is there a better way?
public void Foo(IList<Bar> list)
{
foreach (var elm in list)
obs.Add(elm);
}
解决方案
You could do
public void Foo(IList<Bar> list)
{
list.ToList().ForEach(obs.Add);
}
or as an extension method,
public static void AddRange<T>(this ObservableCollection<T> collection, IEnumerable<T> items)
{
items.ToList().ForEach(collection.Add);
}
这篇关于自IList添加元素的ObservableCollection的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文