Skip to content

KO CSharp Resources

Codex edited this page Oct 11, 2026 · 2 revisions

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

리소스 해제: IDisposable, using 및 await using

설명서 C# · 예시 UO

IDisposable.Dispose는 더 이상 필요하지 않은 리소스를 해제합니다. using는 릴리스를 코드 영역과 연결합니다. await using가 IAsyncDisposable.DisposeAsync를 기다리고 있습니다. 가비지 수집기는 관리되는 메모리를 해제하며 적시에 파일 및 기타 외부 리소스를 닫는 대신 사용할 수 없습니다.

간단한 예제 (Example.cs)

이 예제를 Example.cs로 따로 저장하고 이 페이지의 다른 예제와 독립적으로 실행하세요.

Example.cs:

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

결과:

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());

공식 문서: 릴리스 리소스: IDisposable, using 및 await using - Microsoft 학습.

Clone this wiki locally