public class Sample
{
static int count = 0;
public int abc;
public Sample()
{
abc = ++Sample.count;
}
}
我想创建上述类的数组,并希望阵列中的每个元件通过调用默认构造进行初始化,使每个元件可以有不同的abc
。所以我这样做:数组初始化与默认的构造
Sample[] samples = new Sample[100];
但是这并没有做我认为应该做的事情。看来这种方式默认的构造函数没有被调用。如何在创建数组时调用默认构造函数?
我也想知道上面的说法是干什么的?
你为什么不只是使用数组的索引,它的独特和经销商的增量,按您的代码 – 2011-01-29 21:18:46
在一个侧面说明 - 该代码是不是线程安全的;你应该使用'id = Interlocked.Increment(ref count)`而不是`static int count = 1`(因为`Interlocked.Increment`返回* old *的值)。 – 2011-01-29 21:20:18
在上面的代码中,你刚刚声明了一个大小为100的数组,其中没有任何项目。 – Victor 2011-01-29 21:20:57