Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   ASPX (.net) (http://www.forosdelweb.com/f78/)
-   -   Diferencia entre Dispouse y Nothing (http://www.forosdelweb.com/f78/diferencia-entre-dispouse-nothing-398845/)

RsOfT 01/06/2006 15:12

Diferencia entre Dispouse y Nothing
 
¿Que diferencia existe entre igualar un objeto a Nothing o invocar el método Dispose?
Código:

Ej.:
dsDataSet.Dispose()
dsDataSet = Nothing

¿Cuál de los dos libera realmente la memoria? :pensando:

--
Saludos,
Joe Peña

xknown 01/06/2006 19:20

Antes que nada, dale un vistazo a http://msdn.microsoft.com/library/de...netchapt05.asp

Saludos

RsOfT 02/06/2006 12:34

Muy interesante, gracias por la información.
Ya se que Dispose si libera la memoria y que puedo invocar el gabage colector desde el namespace System.GC.

Además que no es necesario igualar las variables locales a nothing según el siguiente texto:
Cita:

Do not set local variables to null (C#) or Nothing (Visual Basic .NET) because the JIT compiler can statically determine that the variable is no longer referenced and there is no need to explicitly set it to null. The following code shows an example using local variables.
Código:

Sub func()
 Dim str1 As String
 str1 = "abc"
 'Avoid this
 str1 = Nothing
End Sub


Pero me queda la siguiente duda. En el ejemplo utilizan una variable tipo string pero no un objeto como es, por ejemplo, un DataSet. ¿Aún me queda la duda si al yo igualar un objeto a Nothing se libera la memoria? :pensando:

xknown 02/06/2006 14:01

La cita que pusiste claramente indica que no es necesario asignar a Nothing una variable local, porque al salir de contexto, ésta no tendrá más referencias y podrá ser recolectado por el GC. Asignar a nothing hace básicamente lo antes mencionado, es decir eliminar las referencias que existen a ese objeto.

saludos


La zona horaria es GMT -6. Ahora son las 09:41.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.