Ressourcen mit IDisposable und using freigeben in C#
In dieser Lektion stellst du mit der using-Deklaration sicher, dass Ressourcen immer zum richtigen Zeitpunkt freigegeben werden, auch wenn ein Fehler auftritt.
Einführung
In .NET wird Speicher automatisch vom Garbage Collector (garbage collector) eingesammelt, Ressourcen wie Dateien, Netzwerk- oder Datenbankverbindungen sollten aber sofort nach der Verwendung freigegeben werden. Solche Objekte implementieren die Schnittstelle IDisposable mit der Methode Dispose zum Freigeben.
Die Deklaration using var writer sorgt dafür, dass die Methode Dispose von writer automatisch aufgerufen wird, sobald das Programm den umgebenden Gültigkeitsbereich verlässt, auch wenn zwischendurch eine Ausnahme auftritt. Deshalb musst du keinen try/finally-Block schreiben, um aufzuräumen.
Ausführbares C#-Beispiel
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 outputMit dem Debugger üben
Mit einer Challenge üben
Nutze den Inhalt dieser Lektion, um ein echtes Problem zu lösen. Jede Challenge läuft im Browser, mit sofortigen Tests und einem KI-Review.
Alle Challenges