¿Cuál es la diferencia entre los dos fragmentos de código:¿Diferencia entre 'usar' y el alcance?
using (Object o = new Object())
{
// Do something
}
y
{
Object o = new Object();
// Do something
}
he empezado a utilizar using
mucho más, pero estoy curioso en cuanto a lo que los beneficia realmente son, en comparación para examinar objetos
Editar: cositas útiles que hice de esta:
Jon Skeet:
Tenga en cuenta que esto no forzar la recolección de basura de cualquier manera o forma. La recolección de basura y la pronta limpieza de recursos son algo ortogonales.
Will Eddins comentario:
A menos que su clase implementa la interfaz IDisposable, y tiene una función Dispose(), no se utiliza el uso.
¿Es justo decir que esto es principalmente aplicable cuando necesita limpiar recursos no administrados que su clase podría contener? ¿O se aplica también a clases puramente administradas? –
+1 para la nota con respecto a la recolección de basura, siempre tengo una tendencia a olvidarlo ... – jdehaan
Ok, un objeto típico utilizado para almacenar una estructura de datos no vería ningún beneficio de la cláusula de uso sino un objeto más pesado que implementa IDisposable sería? – Kelsey