c# - Error at initialising array variables -
c# - Error at initialising array variables -
i pretty sure have initialised everything, still throws
"object reference not set instance of object."
cell[,] cell; bool[,] updatecell; int areasizex; int areasizey; int maxage; public void reset(int areasizex, int areasizey, int maxage) { areasizex = areasizex; areasizey = areasizey; maxage = maxage; cell = new cell[areasizex, areasizey]; updatecell = new bool[areasizex, areasizey]; (int = 0; < areasizex; i++) { (int j = 0; j < areasizey; j++) { cell[i, j].alive = false; //throws exception here ######### cell[i, j].age = 0; updatecell[i, j] = false; } } } what wrong in code? c# not allow dynamic array creation?
i assume cell class (a reference type). means elements of array references. you're creating array, elements null default -. want:
for (int = 0; < areasizex; i++) { (int j = 0; j < areasizey; j++) { cell[i, j] = new cell(); cell[i, j].alive = false; cell[i, j].age = 0; updatecell[i, j] = false; } } or give cell class constructor taking age , liveness:
for (int = 0; < areasizex; i++) { (int j = 0; j < areasizey; j++) { cell[i, j] = new cell(false, 0); updatecell[i, j] = false; } } or utilize object initializer set properties:
for (int = 0; < areasizex; i++) { (int j = 0; j < areasizey; j++) { cell[i, j] = new cell { live = false, age = 0}; updatecell[i, j] = false; } } c# multidimensional-array
Comments
Post a Comment