3 回答

TA贡献1810条经验 获得超5个赞
个人我只是认为你应该使用对象初始值设定项。但是,对于纯粹的无聊,您可以使用Linq和通用的工厂方法。
// Given
public static IEnumerable<T> Factory<T>(int count) where T : Parent, new()
=> Enumerable.Range(0, count).Select(x => new T());
...
// Usage
var array = Factory<Parent>(3)
.Union(Factory<Child1>(3))
.Union(Factory<Child2>(3))
.ToArray();

TA贡献1871条经验 获得超13个赞
喜欢这个?
var parentArray = new Parent[]
{
new Parent(),
new Parent(),
new Parent(),
new Child1(),
...
};

TA贡献1854条经验 获得超8个赞
在此情况下,您希望重复执行一定数量的操作。循环通常用于执行此操作。由于您正在初始化数组,因此循环非常适合,因为它们公开了可用于为数组编制索引的整数。在您的方案中,可以使用三个这样的循环。for
Parent[] parentArray = new Parent[9];
for (int i = 0; i < 3; i++)
{
parentArray[i] = new Parent();
}
for (int i = 3; i < 6; i++)
{
parentArray[i] = new Child1();
}
for (int i = 6; i < 9; i++)
{
parentArray[i] = new Child2();
}
- 3 回答
- 0 关注
- 116 浏览
添加回答
举报