Wichtige C#-Themen

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

C#
Code ausführen →
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());
    }
}
Ergebnis der Ausführung
resource-safe output

Mit dem Debugger üben

Setze einen Haltepunkt auf eine wichtige Zuweisung oder Bedingung, klicke auf Debug und sieh dir die lokalen Werte an, bevor du zur nächsten Zeile gehst.

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