Второй пример в вашем случае действительно не имеет смысла, поскольку вы дублируете присваивание члена класса (если вы используете MyClass (string param)
конструктор).
Второй подход более полезен, если цепочечные конструкторы «добавляют функциональность».
Пример:
public MyClass ()
{
_param0 = string.Empty;
}
public MyClass (string param1) : this ()
{
_param1 = param1;
}
public MyClass (string param1, string param2) : this (param1)
{
_param2 = param2;
}
В вашем конкретном случае первый пример, очевидно, гораздо более уместен, поскольку у вас есть только одно назначение одному и тому же члену.