What is the difference between Dispose and setting reference to null in C#?
<p>I have two code samples and I want to know what is the deifference between them and which is better to use as best practice and performance wise:</p>

<pre><code>using (TestForm test = new TestForm())
{
test.ShowDialog();
}
</code></pre>

<p>and the other is:</p>

<pre><code>TestForm test = null; 
try
{
test = new TestForm();
 test.ShowDialog();
}
catch(Exception ex)
{
}
finally
{
test = null; 
}
</code></pre>
