はなちるのマイノート

Unityをメインとした技術ブログ。自分らしくまったりやっていきたいと思いますー!

【C#】コンストラクタ内で別のコンストラクトを呼ぶ

はじめに

ふと複数のコンストラクタを書いていて、ほとんど同じ内容だから上手くまとめられたらな・・・と思っていたところコンストラクタ内で別のコンストラクタを呼ぶ方法を見つけました。

それについて書き残しておきたいと思います。

方法

やり方はこんな感じ。

class Sample
{
    private int x;

    public Sample() : this(0) { }

    public Sample(int x)
    {
        this.x = x;
    }
}


これは以下のコードと同じ意味になります。

class Sample
{
    private int x;

    public Sample()
    {
        this.x = 0;
    }

    public Sample(int x)
    {
        this.x = x;
    }
}

さいごに

これでかなりスッキリまとめることができました。

ちなみに最近構造体のコンストラクタで引数がないコンストラクタができないことを知りました。

一応できるようになりそうな流れになったのですが、結局見送られたみたいですね・・・。