Liberar recursos con IDisposable y using en C#
En esta lección vas a usar la declaración using para garantizar que los recursos se liberen siempre en el momento adecuado, incluso si hay un error.
Introducción
En .NET, la memoria la recupera automáticamente el recolector de basura (garbage collector), pero recursos como archivos, conexiones de red o conexiones a una base de datos deben liberarse en cuanto dejan de necesitarse. Estos objetos implementan la interfaz IDisposable, cuyo método Dispose libera el recurso.
La declaración using var writer garantiza que el método Dispose de writer se llame automáticamente cuando el programa sale del ámbito que la contiene, incluso si ocurre una excepción por el camino. Así no necesitas escribir un bloque try/finally para limpiar los recursos.
Ejemplo de C# ejecutable
using System;
using System.IO;
class Program
{
static void Main()
{
using var writer = new StringWriter();
writer.Write("resource-safe output");
Console.WriteLine(writer.ToString());
}
}
resource-safe outputPractica con el depurador
Practica con un reto
Usa lo que cubre esta lección para resolver un problema real. Cada reto se ejecuta en el navegador, con pruebas al instante y una revisión de IA.
Todos los retos