Duda sobre estructuras

31/03/2005 - 13:52 por Zephryn Xirdal | Informe spam
Hola a todos.

Me ha surgido una duda respecto a la creación/destrucción de una estructura.

En mi caso la estructura es:

struct GameData

{

public int[,] matrix;

public int[,] rotation;

public bool[,] animatrix;

};



Cada vez que inicio un juego, reasigno memoria para matrix, rotation y
animatrix, pero al finalizar el mismo, no puedo liberar las matrices ni la
estructura completa.

¿Tendré problemas de memoria o ya se encargará el recolector de ir limpiando
los arrays viejos? Me refiero a que una estructura es un valor y no se toman
referencias, pero los elementos internos sí que son referencias y el GC
debería tomarlos en consideración, pero no estoy seguro de que sea así.

Podría añadir un método "ala dispose" en la estructura y llamarlo a mano,
pero entonces no sé cómo liberar dentro del mismo las variables matrix,
rotation y animatrix. ¿asignándoles null?

Gracias de antemano.
 

Leer las respuestas

#1 Octavio Hernandez
31/03/2005 - 13:57 | Informe spam
Zephryn,

Efectivamente, asignándoles null a esos campos harías que las matrices se
convirtieran en "garbage"...
Generalmente las estructuras se recomiendan cuando los campos son tipos
valor, en tu caso no será mucha la ganancia...

Slds - Octavio

"Zephryn Xirdal" escribió en el
mensaje news:
Hola a todos.

Me ha surgido una duda respecto a la creación/destrucción de una
estructura.

En mi caso la estructura es:

struct GameData

{

public int[,] matrix;

public int[,] rotation;

public bool[,] animatrix;

};



Cada vez que inicio un juego, reasigno memoria para matrix, rotation y
animatrix, pero al finalizar el mismo, no puedo liberar las matrices ni la
estructura completa.

¿Tendré problemas de memoria o ya se encargará el recolector de ir
limpiando los arrays viejos? Me refiero a que una estructura es un valor y
no se toman referencias, pero los elementos internos sí que son
referencias y el GC debería tomarlos en consideración, pero no estoy
seguro de que sea así.

Podría añadir un método "ala dispose" en la estructura y llamarlo a mano,
pero entonces no sé cómo liberar dentro del mismo las variables matrix,
rotation y animatrix. ¿asignándoles null?

Gracias de antemano.


Preguntas similares