out parameter - why does it not work
<p>The following is a failing unittest explaining a bug I found today:</p>

<pre><code>    [TestMethod]
    public void WFT()
    {
        string configDebug = "false";
        bool configDebugEnabled = bool.TryParse(configDebug, out configDebugEnabled);

        Assert.AreEqual(false, configDebugEnabled);
    }
</code></pre>

<p>This is how to make the test go from red to green:</p>

<pre><code>    [TestMethod]
    public void WFT()
    {
        string configDebug = "false";
        bool configDebugEnabled;
        bool.TryParse(configDebug, out configDebugEnabled);

        Assert.AreEqual(true, configDebugEnabled);
    }
</code></pre>

<p>I haven't been able to find the paragraph explaining this in the C# specification but there's most likely a decent explanation to this behaviour. Can anybody explain to me why the first test is failing?</p>
