3 回答

TA貢獻1810條經(jīng)驗 獲得超5個贊
個人我只是認為你應(yīng)該使用對象初始值設(shè)定項。但是,對于純粹的無聊,您可以使用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條經(jīng)驗 獲得超13個贊
喜歡這個?
var parentArray = new Parent[]
{
new Parent(),
new Parent(),
new Parent(),
new Child1(),
...
};

TA貢獻1854條經(jīng)驗 獲得超8個贊
在此情況下,您希望重復(fù)執(zhí)行一定數(shù)量的操作。循環(huán)通常用于執(zhí)行此操作。由于您正在初始化數(shù)組,因此循環(huán)非常適合,因為它們公開了可用于為數(shù)組編制索引的整數(shù)。在您的方案中,可以使用三個這樣的循環(huán)。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 關(guān)注
- 115 瀏覽
添加回答
舉報