【发布时间】:2014-11-29 15:01:06
【问题描述】:
假设我有两个类:
富:
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 属性。我想做的是从现有的Foo 对象集合中创建一个新的bar 对象集合——应该为每个Foo 创建一个Bar。每个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
}
请指点我正确的方向!
【问题讨论】:
-
new IEnumerable <bar>();- 你不能这样做。您需要实例化一个具体类型,例如List<bar>。然后你只需要在你的foreach中做bars.Add(new bar { Name = f.Name, Type = f.Type });。 -
另外,请尝试观察C# naming conventions。如果您计划合作,它们很重要。
-
关于命名约定的好点,我已经看到它在下面引起了混乱!休息后我正在学习编程,所以再次养成良好的习惯!
标签: c# collections ienumerable