Lo contrario de New

21/01/2008 - 03:41 por Josias | Informe spam
Despues de inicializado un objeto con New Clase(), si quiero borrar su
contenido como se hace?

a) Clase ob;
b) ob=new Clase();

Como borro el contenido pero dejando la variable ob al mismo estado de (a).?


Josias

Preguntas similare

Leer las respuestas

#1 Alberto Poblacion
21/01/2008 - 08:05 | Informe spam
"Josias" <josias> wrote in message
news:
Despues de inicializado un objeto con New Clase(), si quiero borrar su
contenido como se hace?

a) Clase ob;
b) ob=new Clase();

Como borro el contenido pero dejando la variable ob al mismo estado de
(a).?



Símplemente pones ob=null;

Pero ten en cuenta que en .Net (a diferencia de otros entornos de
desarrollo), eso no borra inmediatamente el contenido de la zona a la que
previemente hacía referencia ob. En .Net, ese contenido queda a disposición
del recogedor de basura (Garbage Collector), que lo libera más adelante,
cuando el programa comienza a andar escaso de memoria.
Respuesta Responder a este mensaje
#2 Alberto
21/01/2008 - 10:29 | Informe spam
Creo que se puede forzar la recolección de basura con GC.Collect();

"Alberto Poblacion"
escribió en el mensaje news:O$ZkPw$
"Josias" <josias> wrote in message
news:
Despues de inicializado un objeto con New Clase(), si quiero borrar su
contenido como se hace?

a) Clase ob;
b) ob=new Clase();

Como borro el contenido pero dejando la variable ob al mismo estado de
(a).?



Símplemente pones ob=null;

Pero ten en cuenta que en .Net (a diferencia de otros entornos de
desarrollo), eso no borra inmediatamente el contenido de la zona a la que
previemente hacía referencia ob. En .Net, ese contenido queda a
disposición del recogedor de basura (Garbage Collector), que lo libera más
adelante, cuando el programa comienza a andar escaso de memoria.

Respuesta Responder a este mensaje
#3 Alberto Poblacion
21/01/2008 - 10:52 | Informe spam
"Alberto" <añ wrote in message
news:%23%
Creo que se puede forzar la recolección de basura con GC.Collect();



Si, pero se desaconseja. Solo lo deberías hacer en tiempo de desarrollo
para depurar el funcionamiento de los Finalizadores, si los estás usando,
pero en una aplicación en producción, la recomendación de Microsoft es que
nunca llames al GC.Collect(), sino que dejes que los mecanismos internos del
framework lo llamen cuando lo estimen conveniente.
Respuesta Responder a este mensaje
#4 jorge
21/01/2008 - 19:43 | Informe spam
No quisiera confundirte mas pero
1.- seria muy recomendable que cuando definas tus clases estas implementen
iDisposable de esta manera estaras 100% seguro que liberas los recursos
empleados.
2.- El recolector de basura solo "limpia" los recursos que el conoce
"managed resources" otros recursos "unmanaged sources" tienen que ser
limpiados por ti mismo, manualmente en tu codigo. Ejemplos de recursos que
nos manejados por el recolector de basura son los accessos a archivos

para mayor referencia revisa este articulo.
http://www.devcity.net/Articles/93/...anage.aspx
esta en ingles pero alli le das una traduccion con el google.

salu2


"Josias" <josias> wrote in message
news:
Despues de inicializado un objeto con New Clase(), si quiero borrar su
contenido como se hace?

a) Clase ob;
b) ob=new Clase();

Como borro el contenido pero dejando la variable ob al mismo estado de
(a).?


Josias

Respuesta Responder a este mensaje
#5 Josias
21/01/2008 - 20:40 | Informe spam
Gracias por la informacion.

Curiosidad, no habra cambiado en algo eso desde que se hizo ese articulo en
el 2003 ?

Josias

"jorge" escribió en el mensaje
news:4794e82b$0$18452$
No quisiera confundirte mas pero
1.- seria muy recomendable que cuando definas tus clases estas implementen
iDisposable de esta manera estaras 100% seguro que liberas los recursos
empleados.
2.- El recolector de basura solo "limpia" los recursos que el conoce
"managed resources" otros recursos "unmanaged sources" tienen que ser
limpiados por ti mismo, manualmente en tu codigo. Ejemplos de recursos que
nos manejados por el recolector de basura son los accessos a archivos

para mayor referencia revisa este articulo.
http://www.devcity.net/Articles/93/...anage.aspx
esta en ingles pero alli le das una traduccion con el google.

salu2


"Josias" <josias> wrote in message
news:
Despues de inicializado un objeto con New Clase(), si quiero borrar su
contenido como se hace?

a) Clase ob;
b) ob=new Clase();

Como borro el contenido pero dejando la variable ob al mismo estado de
(a).?


Josias





Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida