Junior — Middle
Waarom is het in sommige gevallen nodig om expliciet te stoppen met werken aan taken, ondanks de aanwezigheid van een automatische garbage collector?
sobes.tech AI
Antwoord van AI
De automatische garbage collector (GC) in C# maakt het geheugen vrij dat wordt ingenomen door objecten die niet meer worden gebruikt, maar beheert geen andere bronnen zoals bestanden, netwerkverbindingen of descriptors.
Het is daarom belangrijk om dergelijke bronnen expliciet vrij te maken door de interface IDisposable te implementeren en de methode Dispose() aan te roepen. Dit zorgt voor tijdige vrijgave van bronnen, voorkomt lekken en verbetert de prestaties.
Voorbeeld van het gebruik van using om automatisch Dispose aan te roepen:
using (var file = new FileStream("file.txt", FileMode.Open))
{
// Werken met het bestand
}
// Hier wordt het bestand automatisch gesloten
Zo is, ondanks GC, expliciete vrijgave van bronnen noodzakelijk voor correct beheer van niet-beheerde bronnen.