使用關鍵字

當一個物件實現 IDisposable 介面時,可以在 using 語法中建立它:

using (var foo = new Foo())
{
    // do foo stuff
} // when it reaches here foo.Dispose() will get called

public class Foo : IDisposable
{
    public void Dispose()
    {
        Console.WriteLine("dispose called");
    }
}

檢視演示

usingtry/finally 塊的合成 ; 以上用法大致可轉化為:

{
    var foo = new Foo();
    try
    {
        // do foo stuff
    }
    finally
    {
        if (foo != null)
            ((IDisposable)foo).Dispose();
    }
}