如何使用默认构造函数创建我的类的数组?

Fre*_*ood 5 .net c# arrays constructor

例如

MYCLASS[] myclass = new MYCLASS[10];
Run Code Online (Sandbox Code Playgroud)

现在myclass数组都是空数组,但我想要默认构造数组.我知道我可以为set default构造循环,但我正在寻找更简单方便的方法.

Mar*_*ers 6

如果您不想写出循环,您可以使用Enumerable.Range:

MyClass[] a = Enumerable.Range(0, 10)
                        .Select(x => new MyClass())
                        .ToArray();
Run Code Online (Sandbox Code Playgroud)

注意:它比你提到的使用循环的方法要慢得多,为清楚起见,这里写的是:

MyClass[] a = new MyClass[10];
for (int i = 0; i < a.Length; ++i)
{
    a[i] = new MyClass();
}
Run Code Online (Sandbox Code Playgroud)


Ale*_*vin 2

var a = Enumerable.Repeat(new MYCLASS(), 10).ToArray();
Run Code Online (Sandbox Code Playgroud)