public class Sample
{
static int count = 0;
public int abc;
public Sample()
{
abc = ++Sample.count;
}
}
Я хочу создать массив выше класса, и хотим, чтобы каждый элемент массива инициализируется путем вызова конструктора по умолчанию, так что каждый элемент может иметь различный abc
.so я сделал это :Инициализация массива с конструктором по умолчанию
Sample[] samples = new Sample[100];
Но это не делает то, что я думаю, что он должен делать. Кажется, что конструктор по умолчанию не вызван. Как вызвать конструктор по умолчанию при создании массива?
Я также хотел бы знать, что делает вышеуказанное утверждение?
почему бы вам не просто использовать индекс массива, его уникальный и авто инкрементальный в соответствии с вашим кодом –
На стороне записки - этот код не поточно-; вы должны использовать 'id = Interlocked.Increment (ref count)' и начать с 'static int count = 1' (поскольку' Interlocked.Increment' возвращает значение * old *). –
ну в коде выше вы только что объявили массив размером 100, в нем нет элементов. – Victor