C# での「using」の用途は何ですか? 質問する

C# での「using」の用途は何ですか? 質問する

ユーザーココス素晴らしい答えC# の隠れた機能キーワードを挙げて質問しますusing。詳しく説明していただけますか? の用途は何ですかusing?

ベストアンサー1

このステートメントの理由は、usingオブジェクトがスコープ外になるとすぐに破棄されることを保証するためであり、これを保証する明示的なコードは必要ありません。

例えばC# の 'using' ステートメントを理解する (codeproject)そしてIDisposable を実装するオブジェクトの使用 (microsoft)C#コンパイラは、

using (MyResource myRes = new MyResource())
{
    myRes.DoSomething();
}

{ // Limits scope of myRes
    MyResource myRes= new MyResource();
    try
    {
        myRes.DoSomething();
    }
    finally
    {
        // Check for a null resource.
        if (myRes != null)
            // Call the object's Dispose method.
            ((IDisposable)myRes).Dispose();
    }
}

C# 8では「宣言の使用「:」

using 宣言は、using キーワードが先行する変数宣言です。これは、宣言されている変数を囲むスコープの最後に配置する必要があることをコンパイラに伝えます。

したがって、上記と同等のコードは次のようになります。

using var myRes = new MyResource();
myRes.DoSomething();

そして、制御が包含スコープ (通常はメソッドですが、コード ブロックの場合もあります) を離れると、myRes破棄されます。

おすすめ記事