Avatar ·

Utilisation correcte de l'interface IDisposable en C# : comment éviter les fuites mémoire

Bonjour à tous ! Je suis un développeur C# débutant et je n'arrive pas à comprendre l'interface IDisposable. J'ai lu la documentation, mais j'ai encore des questions. Voici un exemple de mon code. Je travaille avec des fichiers et des bases de données : ```csharp public class FileProcessor { private StreamReader _reader; private SqlConnection _connection; public void ProcessFile(string path) { _reader = new StreamReader(path); _connection = new SqlConnection("..."); // On lit le fichier et on sauvegarde dans la base de données string line; while ((line = _reader.ReadLine()) != null) { // on sauvegarde dans la base de données } // Je ne ferme pas _reader et _connection - le GC ne le fera-t-il pas ? } } ``` Je sais que StreamReader et SqlConnection implémentent IDisposable. Mais j'ai plusieurs questions : 1. Dois-je implémenter IDisposable dans ma classe si j'utilise de telles ressources ? 2. Que se passera-t-il si je n'appelle pas Dispose() ? Le GC ne collecte-t-il pas les