title: What is the difference between Dispose and setting reference to null in C#?
body: <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>