title: Auto-property initializer Singleton implementation
body: <p>So, with the brand new C# 6 we got those neat auto-property initializers. I thought I might as well take advantage of these to make more concise singletons than ever. Apparently <a href="http://www.harrysmemo.com/post/124283867727/singleton-pattern-in-c" rel="noreferrer">someone else</a> got that idea, too.</p>
  
  <pre><code>public sealed class Singleton
  {
      public static Singleton Instance { get; } = new Singleton();
      private Singleton() { /* some initialization code */ }
  }
  </code></pre>
  
  <p>My questions are:</p>
  
  <ol>
  <li>How thread-safe it is?</li>
  <li>How lazy it is, or when the instance is actually created? (not a priority, but it would be good for future reference)</li>
  <li>Is it a good idea overall?</li>
  </ol>
  
  <p>(it might look similar to <a href="https://stackoverflow.com/questions/2117241/is-implementing-a-singleton-using-an-auto-property-a-good-idea">this question</a>, but it's not)</p>