Skip to content

DE CSharp Resources

Codex edited this page Oct 11, 2026 · 2 revisions

Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어

Ressourcen freigeben: IDisposable, using und await using

Handbuch C# · Beispiele UO

IDisposable.Dispose gibt eine Ressource frei, wenn sie nicht mehr benötigt wird. using ordnet die Freigabe dem Codebereich zu; await using wartet auf IAsyncDisposable.DisposeAsync. Der Garbage Collector gibt verwalteten Speicher frei und ist kein Ersatz für das rechtzeitige Schließen von Dateien und anderen externen Ressourcen.

Einfaches Beispiel (Example.cs)

Speichern Sie dieses Beispiel separat als Example.cs. Führen Sie es unabhängig von den anderen Beispielen dieser Seite aus.

Example.cs:

// PROJECT-EXAMPLE
using System;
using (var stream = new System.IO.MemoryStream())
{
    stream.WriteByte(65);
    Console.WriteLine(stream.Length);
}

Ergebnis:

1
{
    using var stream = new System.IO.MemoryStream();
    stream.WriteByte(42);
    stream.Position = 0;
    UO.Print(stream.ReadByte().ToString());
}
sealed class Lease : IAsyncDisposable
{
    public bool Released { get; private set; }
    public ValueTask DisposeAsync()
    {
        Released = true;
        return ValueTask.CompletedTask;
    }
}

var lease = new Lease();
await using (lease)
{
    await WaitAsync(10);
}
UO.Print(lease.Released.ToString());

Offizielle Dokumentation: Release-Ressourcen: IDisposable, using und await using – Microsoft Lernen.

Clone this wiki locally