Temas importantes de C#

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

C#
Ejecutar código →
Program.cs
using System;
using System.IO;

class Program
{
    static void Main()
    {
        using var writer = new StringWriter();
        writer.Write("resource-safe output");
        Console.WriteLine(writer.ToString());
    }
}
Resultado de la ejecución
resource-safe output

Practica con el depurador

Pon un punto de interrupción en una asignación o condición importante, pulsa Debug y revisa los valores locales antes de pasar a la siguiente línea.

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