自IList添加元素的ObservableCollection [英] Add elements from IList to ObservableCollection

查看:188
本文介绍了自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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆