コンストラクタから別のコンストラクタを呼ぶ方法

プログラミングC# 第6版 3.4

using System;

class CSample {
    public CSample (int i,int j) {
        foo = i;
        bar = j;
    }
    public CSample (int i) {
        foo = i;
        bar = 2;
    }
    public int foo;
    public int bar;
}

たとえば上記のようなコンストラクタが二つあったとします。

やりたい処理は同じだけど引数の数だけが違うだけなので、こういう場合は引数1つのコンストラクタの方から引数2つのコンストラクタの方を呼ぶことができたら処理の共通化ができますよね。

以下のようになります。

using System;

class CSample {
    public CSample (int i,int j) {
        foo = i;
        bar = j;
    }
    public CSample (int i) : this(i,2) {
    }
    public int foo;
    public int bar;
}

これで共通化ができますね。