C# デストラクター


 
「コンストラクター」と同様に、C# のデストラクター (「ファイナライザー」とも呼ばれます) もクラス内の特別なメンバー関数であり、主にガベージ コレクターがクラス インスタンスを再利用するときに必要なクリーンアップ操作を実行するために使用されます。

 

C# のデストラクターには次の特徴があります。

  • デストラクターはクラス内でのみ定義でき、構造体内では定義できません。
  • クラス内に定義できるデストラクターは 1 つだけです。
  • デストラクターは継承またはオーバーロードできません。
  • デストラクターには戻り値がありません。
  • デストラクターは自動的に呼び出され、手動で呼び出すことはできません。
  • デストラクターをアクセス修飾子で装飾したり、パラメーターを含めたりすることはできません。

デストラクターの名前もクラス名と同じですが、以下に示すように、名前の前にチルダ~を付ける必要があります。

class Car
{
    ~Car() 
    {

    }
}

[例] 上記のコンストラクターと組み合わせて、クラス内でのコンストラクターとデストラクターの使用法を示します。

 using System;

namespace it-kiso.com
{
    class Demo
    {
        static void Main(string[] args) 
        {
            Student stu1 = new Student();
            Student stu2 = new Student();
        }
    }
    public class Student
    {
        public Student(){
            Console.WriteLine("Classのコンストラクター");
        }
        ~Student(){
            Console.WriteLine("Classのデストラクター");
        }
    }
} 

注: デストラクターは外部に公開できないため、デストラクターにアクセス修飾子を適用することはできません。

「 C# デストラクター」についてわかりやすく解説!絶対に観るべきベスト2動画

 
【プログラミング講座(C#)】第30回 コンストラクタとデストラクタについて【独り言】