title: Error: Cannot implicitly convert type 'void' to 'System.Threading.Thread'
body: <p>The following code demonstrate two ways of creating a thread that does the same job, but only one works while the other doesn't. The difference, from what I see, is declaration of a variable - could someone help explain why this leads to <code>Error: Cannot implicitly convert type 'void' to 'System.Threading.Thread'</code>?</p>
  
  <pre><code>public MainWindow()
  {
      InitializeComponent();
  
      // Runs OK
      new Thread(() =&gt; { MessageBox.Show("foo");}).Start();
  
      // Error: Cannot implicitly convert type 'void' to 'System.Threading.Thread'
      Thread t = new Thread(() =&gt;  { MessageBox.Show("foo”); }).Start();
  }
  </code></pre>