Retroceder   Foros del Web > Programación para sitios web > .NET > web forms

Respuesta
 
Herramientas Desplegado
Antiguo 01-jun-2006, 15:12   #1 (permalink)
RsOfT está en el buen camino
 
Avatar de RsOfT
 
Fecha de Ingreso: noviembre-2002
Ubicación: InterNET
Mensajes: 1.005
Enviar un mensaje por ICQ a RsOfT Enviar un mensaje por Yahoo  a RsOfT
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?

--
Saludos,
Joe Peña
__________________
.::RsOfT::.
--El que se aferra a lo conocido, nunca conocerá lo desconocido--
--Es intentando lo imposible como se realiza lo posible--
--Es de pésimo gusto contentarse con algo mediocre cuando lo excelente está a nuestro alcance--
RsOfT está desconectado   Responder Citando
Antiguo 01-jun-2006, 19:20   #2 (permalink)
xknown está en el buen camino
 
Avatar de xknown
 
Fecha de Ingreso: diciembre-2004
Ubicación: Cusco - Perú
Mensajes: 2.249
Antes que nada, dale un vistazo a http://msdn.microsoft.com/library/de...netchapt05.asp

Saludos
__________________
Alex Concha
Buayacorp - Programación y Diseño
xknown está desconectado   Responder Citando
Antiguo 02-jun-2006, 12:34   #3 (permalink)
RsOfT está en el buen camino
 
Avatar de RsOfT
 
Fecha de Ingreso: noviembre-2002
Ubicación: InterNET
Mensajes: 1.005
Enviar un mensaje por ICQ a RsOfT Enviar un mensaje por Yahoo  a RsOfT
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?
__________________
.::RsOfT::.
--El que se aferra a lo conocido, nunca conocerá lo desconocido--
--Es intentando lo imposible como se realiza lo posible--
--Es de pésimo gusto contentarse con algo mediocre cuando lo excelente está a nuestro alcance--
RsOfT está desconectado   Responder Citando
Antiguo 02-jun-2006, 14:01   #4 (permalink)
xknown está en el buen camino
 
Avatar de xknown
 
Fecha de Ingreso: diciembre-2004
Ubicación: Cusco - Perú
Mensajes: 2.249
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
__________________
Alex Concha
Buayacorp - Programación y Diseño
xknown está desconectado   Responder Citando
Respuesta

No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 02:11.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93