Avatar ·

Uso correcto de la interfaz IDisposable en C#: cómo evitar fugas de memoria

¡Hola a todos! Soy un desarrollador principiante de C# y no logro entender la interfaz IDisposable. Leí la documentación, pero aún tengo preguntas. Aquí hay un ejemplo de mi código. Trabajo con archivos y bases de datos: ```csharp public class FileProcessor { private StreamReader _reader; private SqlConnection _connection; public void ProcessFile(string path) { _reader = new StreamReader(path); _connection = new SqlConnection("..."); // Leemos el archivo y guardamos en la BD string line; while ((line = _reader.ReadLine()) != null) { // guardamos en la BD } // No cierro _reader ni _connection - ¿GC lo hará? } } ``` Sé que StreamReader y SqlConnection implementan IDisposable. Pero tengo varias preguntas: 1. ¿Necesito implementar IDisposable en mi clase si uso tales recursos? 2. ¿Qué sucederá si no llamo a Dispose()? ¿GC recolecta...