我们说我有两节课:
富
public class Foo {
int Id { get; set; }
string Name { get; set; }
string Type { get; set; }
}
栏:
public class Bar {
string Name { get; set; }
string Type { get; set; }
}
因此,Bar
不需要Id属性。我想要做的是从现有的bar
个对象集合中创建一个新的Foo
个对象集合 - 应该为每个Bar
创建一个Foo
。每个Bar
都会有Name
和Type
来自Foo
。
我知道这需要看起来像这样,但不太确定如何完成它:
IEnumerable <Foo> foos = queryResults; //I'll get my foo's with a LINQ query
IEnumerable <Bar> bars = new IEnumerable<Bar>();
foreach (Foo f in foos) {
//create a new Bar and add it to bars
}
请指出我正确的方向!
答案 0 :(得分:0)
您可以使用Linq
查询执行此操作:
IEnumerable <bar> bars = foos.Select(x => new bar{Name = x.Name, Type = x.Type});
答案 1 :(得分:0)
使用List<Bar>
代替IEnumerable <Bar>
,并使用其构造函数分配Bar
的属性,如下所示
IEnumerable <Foo> foos = queryResults; //I'll get my foo's with a LINQ query
List<Bar> bars = new List<Bar>();
foreach (Foo f in foos) {
bars.Add(new Bar() { Name = f.Name, Type = f.Type });
}