public class Sample
{
static int count = 0;
public int abc;
public Sample()
{
abc = ++Sample.count;
}
}
Quiero crear una matriz de clase por encima, y desea que cada elemento de la matriz a ser inicializado mediante la invocación del constructor por defecto, de manera que cada elemento puede tener diferentes abc
.Así lo hice :inicialización de la matriz con el constructor por defecto
Sample[] samples = new Sample[100];
Pero esto no hace lo que creo que debería hacer. Parece que de esta manera no se llama al constructor predeterminado. ¿Cómo invocar el constructor predeterminado al crear una matriz?
También me gustaría saber qué hace la declaración anterior?
¿Por qué no sólo tiene que utilizar el índice de matriz, su incremento único y automático como por su código –
En una nota lateral - que el código no es seguro para subprocesos; debería usar 'id = Interlocked.Increment (ref count)' en su lugar, y comenzar con 'static int count = 1' (ya que' Interlocked.Increment' devuelve el valor * old *). –
bien en el código anterior que acaba de declarar una matriz de tamaño 100, no hay elementos en ella. – Victor