Error: Cannot implicitly convert type 'void' to 'System.Threading.Thread' : <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>
