title: In C#, what is the best/accepted way of doing constructor chaining?
body: <p>Given the following class:</p>
  
  <pre><code>public class MyClass
  {
      private string _param;
  
      public MyClass ()
      {
          _param = string.Empty;
      }
  
      public MyClass (string param)
      {
          _param = param;
      }
  }
  </code></pre>
  
  <p>I am torn apart between two ways to chain those constructors:</p>
  
  <p><strong>The first one</strong>:</p>
  
  <pre><code>public MyClass () : this (string.Empty)
  {
  }
  
  public MyClass (string param)
  {
      _param = param;
  }
  </code></pre>
  
  <p><strong>The second one:</strong></p>
  
  <pre><code>public MyClass ()
  {
      _param = string.Empty;
  }
  
  public MyClass (string param) : this ()
  {
      _param = param;
  }
  </code></pre>
  
  <p>So, is it better to chain from the parameterless constructor or the other way around?</p>