C# – デストラクタ

C#

C# の デストラクタの説明

コンストラクターとは逆に、インスタンスが破棄されるときに呼び出されるのがデストラクターです。 デストラクターは以下のように、クラス名の前に ~ を付けた名前のメソッドを書くことで定義できます。

    class myClass
    {   
        // デストラクタ
        ~myClass()
        {
            Console.WriteLine("destructor");
        }
    }

NET Framework では、インスタンスの寿命は .NET Framework 自体が管理していて、 いつインスタンスの破棄が行われるのかは分かりません。

ガベージ・コレクション

ガベージコレクションは、不要になったメモリ領域を自動的に解放する機能です。NET Framework つまり C#では このガベージコレクションが機能するので基本的に メモリの解法を意識する必要がありません。

クラスも C++  などでは インスタンス化して 使用後 使わなくなったら プログラマーが 明示的に破棄する必要があります。 それを忘れると 使われないデータが いつまもで メモリに 残ることになります。

このメモリー管理のバグを防ぐために C# では ガベージコレクション が実装され、使われなくなった メモリは 自動的に破棄されます。 ただし、破棄のタイミングはシステム任せになります。 そして、破棄時に実行される デストラクタ も いつ 実行されるかは 同じくシステム任せになります。

コメント

タイトルとURLをコピーしました