Código:
¿Cuál de los dos libera realmente la memoria? Ej.: dsDataSet.Dispose() dsDataSet = Nothing
--
Saludos,
Joe Peña
| ||||
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: 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? 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
__________________ .::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-- |
| ||||
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 |