使用类集合创建新的ObservableCollection

时间:2014-01-10 10:42:18

标签: c# .net linq lambda observablecollection

我有以下两个类:

 public class MyData
 {
     public MyData2 Data2 {get; set;}
 }

 public class MyData2
 {
     public string data {get; set;}
 }

我有一个Myist2的IList,我想创建一个集合(理想情况下ObservableCollection,虽然我可以很容易地转换)MyData。我觉得应该可以使用lambda语句来做到这一点,但我似乎无法提出语法;类似的东西:

IList<MyData2> myData2 = GetData();
ObservableCollection<MyData> myData = new ObservableCollection<MyData>(Data2 = myData2??);

有没有办法使用labda / LINQ执行此操作,还是需要使用foreach

1 个答案:

答案 0 :(得分:3)

使用Enumerable.Select方法:

var myData = myData2.Select(data2 => new MyData() { Data2 = data2 });
var collection = new ObservableCollection<MyData>(myData);